package org.sg.sgg.date;
import java.sql.Time;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.apache.log4j.Logger;
public class DateUtils extends Date {
private static final long serialVersionUID = 1L;
private static final Logger LOGGER = Logger.getLogger(Date.class);
public DateUtils() {
super();
}
/**
* 得到当前年
* @return
*/
public static int getCurrYear(){
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.YEAR);
}
/**
* 得到当前月份
* 注意,这里的月份依然是从0开始的
* @return
*/
public static int getCurrMonth(){
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.MONTH);
}
/**
* 得到当前日
* @return
*/
public static int getCurrDay(){
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.DAY_OF_MONTH);
}
/**
* 得到当前星期
* @return
*/
public static int getCurrWeek(){
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.DAY_OF_WEEK);
}
/**
* 得到当前小时
* @return
*/
public static int getCurrHour(){
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.HOUR);
}
/**
* 得到当前分钟
* @return
*/
public static int getCurrMinute(){
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.MINUTE);
}
/**
* 得到当前秒
* @return
*/
public static int getCurrSecond(){
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.SECOND);
}
/**
* Date类型转换到Calendar类型
* @param date
* @return
*/
public static Calendar Date2Calendar(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal;
}
/**
* Calendar类型转换到Date类型
* @param cal
* @return
*/
public static Date calendar2Date(Calendar cal){
return cal.getTime();
}
/**
* Date类型转换到Timestamp类型
* @param date
* @return
*/
public static Timestamp date2Timestamp(Date date){
return new Timestamp(date.getTime());
}
/**
* Calendar类型转换到Timestamp类型
* @return
*/
public static Timestamp calendar2Timestamp(Calendar cal){
return new Timestamp(cal.getTimeInMillis());
}
/**
* Timestamp类型转换到Calendar类型
* @param timestamp
* @return
*/
public static Calendar timestamp2Calendar(Timestamp timestamp){
Calendar cal = Calendar.getInstance();
cal.setTime(timestamp);
return cal;
}
/**
* 当前时间的下一天时间
*
* @return
*/
public static Date nextDate() {
return nextDate(new DateUtils(), 1);
}
/**
* 得到当前时间的毫秒数
*
* @return
*/
public static Long getCurrentTimeMillis() {
return System.currentTimeMillis();
}
/**
* 获取任意时间后num天的时间
*
* @param date
* java.util.Date
* @param num
* @return
*/
public static Date nextDate(Date date, int num) {
Calendar cla = Calendar.getInstance();
cla.setTime(date);
cla.add(Calendar.DAY_OF_YEAR, num);
return cla.getTime();
}
/**
* 获取任意时间后num天的时间
*
* @param date
* String; <br>
* 格式支持�?<br>
* yyyy-MM-dd HH:mm:ss <br>
* yyyy年MM月dd日HH时mm分ss�?<br>
* yyyy/MM/dd HH:mm:ss <br>
* 默认时间格式
* @param num
* int
* @return java.util.Date
* @throws ParseException
*/
public static Date nextDate(String date, int num) throws ParseException {
if (date == null)
return null;
SimpleDateFormat sdf = null;
if (date.indexOf("-") != -1)
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
else if (date.indexOf("-") != -1)
sdf = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss");
else if (date.indexOf("/") != -1)
sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
else if (date.indexOf("CST") != -1)
sdf = new SimpleDateFormat();
else
System.out.println("no match format:");
return nextDate(sdf.parse(date), num);
}
/**
* 获取当天时间num天后的时间<br>
* 如果num小于0则返回当前时间的前num天的时间<br>
* ,否则返回当天时间后num天的时间
*
* @param num
* int;
* @return java.util.Date
*/
public static Date nextDate(int num) {
return nextDate(new Date(), num);
}
/**
* 取得当前日期是多少周
*
* @param date
* @return
*/
public static int getWeekOfYear(Date date) {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
/**
* 设置一年中第一个星期所需的最少天数,例如,如果定义第一个星期包含一年第一个月的第一天,则使用值 1 调用此方法。
* 如果最少天数必须是一整个星期,则使用值 7 调用此方法。
**/
c.setMinimalDaysInFirstWeek(1);
c.setTime(date);
return c.get(Calendar.WEEK_OF_YEAR);
}
/**
* 得到某一年周的总数
*
* @param year
* @return
*/
public static int getMaxWeekNumOfYear(int year) {
Calendar c = Calendar.getInstance();
c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);
return getWeekOfYear(c.getTime());
}
/**
* 得到某年某周的第一天
*
* @param year
* @param week
* @return
*/
public static Date getFirstDayOfWeek(int year, int week) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.WEEK_OF_YEAR, week);
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);// 设置周一
c.setFirstDayOfWeek(Calendar.MONDAY);
return c.getTime();
}
/**
*得到当周的第一天
*
* @param year
* @param week
* @return
*/
public static Date getFirstDayOfWeek(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);// 设置周一
c.setFirstDayOfWeek(Calendar.MONDAY);
return c.getTime();
}
/**
* 得到某年某周的最后一天
*
* @param year
* @param week
* @return
*/
public static Date getLastDayOfWeek(int year, int week) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.WEEK_OF_YEAR, week);
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
return c.getTime();
}
/**
* 得到当前周的周的最后一天
*
* @param year
* @param week
* @return
*/
public static Date getLastDayOfWeek(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
return c.getTime();
}
/**
* 得到某年某月的第一天
*
* @param year
* @param month
* @return
*/
public static Date getFirstDayOfMonth(int year, int month) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month - 1);
c.set(Calendar.DAY_OF_MONTH, c.getActualMinimum(Calendar.DAY_OF_MONTH));
return c.getTime();
}
/**
* 获得当前月的第一天
*
* @param year
* @param date
* @return
*/
public static Date getFirstDayOfMonth(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_MONTH, c.getActualMinimum(Calendar.DAY_OF_MONTH));
return c.getTime();
}
/**
*得到某年某月的最后一天
*
* @param year
* @param month
* @return
*/
public static Date getLastDayOfMonth(int year, int month) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month - 1);
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
return c.getTime();
}
/**
* 获得当前月的最后一天
*
* @param year
* @param date
* @return
*/
public static Date getLastDayOfMonth(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
return c.getTime();
}
/**
* 得到某年某季度第一天
*
* @param year
* @param quarter
* @return
*/
public static Date getFirstDayOfQuarter(int year, int quarter) {
int month = 0;
if (quarter > 4) {
return null;
} else {
month = (quarter - 1) * 3 + 1;
}
return getFirstDayOfMonth(year, month);
}
/**
* 得到某年某季度最后一天
*
* @param year
* @param quarter
* @return
*/
public static Date getLastDayOfQuarter(int year, int quarter) {
int month = 0;
if (quarter > 4) {
return null;
} else {
month = quarter * 3;
}
return getLastDayOfMonth(year, month);
}
/**
* 得到某年第一天
*
* @param year
* @return
*/
public static Date getFirstDayOfYear(int year) {
return getFirstDayOfQuarter(year, 1);
}
/**
* 得到当年第一天
*
* @param year
* @return
*/
public static Date getFirstDayOfYear(Date date) {
Calendar c=Calendar.getInstance();
c.setTime(date);
int year=c.get(Calendar.YEAR);
return getFirstDayOfYear(year);
}
/**
* 得到某年最后一天
*
* @param year
* @return
*/
public static Date getLastDayOfYear(int year) {
return getLastDayOfQuarter(year, 4);
}
/**
* 得到当年最后一天
*
* @param year
* @return
*/
public static Date getLastDayOfYear(Date date) {
Calendar c=Calendar.getInstance();
c.setTime(date);
int year=c.get(Calendar.YEAR);
return getLastDayOfYear(year);
}
/**
* 功能:获取本周的开始时间
* 示例:2013-05-13 00:00:00
*/
public static Date getWeekStart() {// 当周开始时间
Calendar currentDate = Calendar.getInstance();
currentDate.setFirstDayOfWeek(Calendar.MONDAY);
currentDate.set(Calendar.HOUR_OF_DAY, 0);
currentDate.set(Calendar.MINUTE, 0);
currentDate.set(Calendar.SECOND, 0);
currentDate.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
return (Date) currentDate.getTime();
}
/**
* 功能:获取本周的结束时间
* 示例:2013-05-19 23:59:59
*/
public static Date getWeekEnd() {// 当周结束时间
Calendar currentDate = Calendar.getInstance();
currentDate.setFirstDayOfWeek(Calendar.MONDAY);
currentDate.set(Calendar.HOUR_OF_DAY, 23);
currentDate.set(Calendar.MINUTE, 59);
currentDate.set(Calendar.SECOND, 59);
currentDate.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
return (Date) currentDate.getTime();
}
/**
* 得到指定或者当前时间前n天的Calendar
* @param day
* @return
*/
@SuppressWarnings("unused")
public static Calendar getBeforeNDays(int n){
Calendar cal = null;
//偏移量,给定n天的毫秒数
long offset = n * 24 * 60 * 60 * 1000;
if (cal != null) {
cal.setTimeInMillis(cal.getTimeInMillis() - offset);
}else {
cal = Calendar.getInstance();
cal.setTimeInMillis(cal.getTimeInMillis() - offset);
}
return cal;
}
/**
* 得到指定或者当前时间后n天的Calendar
* @param n
* @return
*/
@SuppressWarnings("unused")
public static Calendar getAfterNDays(int n){
Calendar cal = null;
//偏移量,给定n天的毫秒数
long offset = n*24*60*60*1000;
if (cal != null) {
cal.setTimeInMillis(cal.getTimeInMillis() + offset);
}else {
cal = Calendar.getInstance();
cal.setTimeInMillis(cal.getTimeInMillis() + offset);
}
return cal;
}
/**
* 获取当前时间的后一天
* @return
*/
@SuppressWarnings("unused")
public static Calendar getTomorrowDay(){
long offset = 1*24*60*60*1000;
Calendar cal = null;
if (cal != null) {
cal.setTimeInMillis(cal.getTimeInMillis() + offset);
}else {
cal = Calendar.getInstance();
cal.setTimeInMillis(cal.getTimeInMillis() + offset);
}
return cal;
}
/**
* 获取当前时间的上一天
* @return
*/
@SuppressWarnings("unused")
public static Calendar getYesterDay(){
long offset = 1*24*60*60*1000;
Calendar cal = null;
if (cal != null) {
cal.setTimeInMillis(cal.getTimeInMillis() - offset);
}else {
cal = Calendar.getInstance();
cal.setTimeInMillis(cal.getTimeInMillis() - offset);
}
return cal;
}
}
- 浏览: 310054 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (312)
- 细细品味-Java (104)
- 细细品味-Xml (9)
- 细细品味-Json (6)
- 细细品味-Ajax (2)
- 细细品味-Jdbc (3)
- 细细品味-Ibatis (8)
- 细细品味-Oracle (4)
- 细细品味-Spring (10)
- 细细品味-Struts2 (8)
- 细细品味-Lucene (9)
- 细细品味-Jquery (36)
- 细细品味-Eclipse (6)
- 细细品味-Javascrip (28)
- 细细品味-Hibernate (9)
- 细细品味-WebService (6)
- 细细品味-Javascript API (6)
- 细细品味-ArcGIS Server (6)
- 细细品味-Flex (4)
- 细细品味-Linux (11)
- 细细品味-SVG (16)
- 细细品味-html5 (27)
- 细细品味-Shiro (1)
- 细细品味-Maven (3)
- 细细品味-Mysql (4)
- 细细品味-Tomcat (3)
- 细细品味-Android (0)
- 细细品味-Windows (1)
- 细细品味-Google Guava (21)
- 细细品味-FusionCharts (2)
- 细细品味-算法 (10)
- 细细品味-Dojo框架 (2)
- 细细品味-Http协议 (1)
- 细细品味-地理编码 (14)
- 细细品味-中文乱码 (3)
- 细细品味-数据结构 (2)
- 细细品味-面试题 (1)
- 设计模式 (0)
- 杂谈小记 (3)
- 随笔小记 (4)
- three.js (1)
- 细细品味-云计算&虚拟化 (0)
- 细细品味-架构 (1)
- 细细品味-系统优化 (1)
- 细细品味-hbase (1)
- 细细品味-hadoop (5)
- 细细品味-hive (3)
- 细细品味-flume (1)
- 细细品味-hdfs (2)
- 细细品味-微服务 (1)
- 细细品味-Spring Boot (1)
最新评论
-
final7tifa:
感觉写的挺好
封装JAVA 通过反射 POI导出Excel文件(直接可用 含测试代码) -
漆停停:
...
封装JAVA 通过反射 POI导出Excel文件(直接可用 含测试代码) -
sybell:
很是不错的文章,不过要达到熟练使用,都还在实际项目中使用。
Effective Java学习(并发)之——同步访问共享可变数据
发表评论
-
Spring Cloud 架构,例子
2016-10-31 16:17 1874Genesis. Is a Spring Cloud Pro ... -
使用Maven Jenkins和JMeter自动化测试
2015-10-19 14:36 1698有两个插件能够实现在Maven build集成Jmeter测 ... -
GITHUB干货系列:JAVA 资源集合- GITHUB.COM
2015-04-02 14:50 972转载于:http://www.blogjava.net ... -
使用logback.xml配置来实现日志文件输出
2014-08-15 12:59 11147Logback是由 ... -
(转)115个Java面试题和答案——终极列表(下)
2014-04-24 14:46 0第一篇讨论了面向对象编程和它的特点, ... -
(转)115个Java面试题和答案——终极列表(上)
2014-04-24 14:40 0本文我们将要讨论Java面试中的各种不同 ... -
(转)java内部类总结
2014-04-23 17:05 679内部类是指在一个外部类的内部再定义一个类。内部类作为外 ... -
JAVA设计模式学习之——适配器模式
2014-02-26 11:10 0适配器模式把一个 ... -
Guava API学习之Resources
2014-03-03 13:10 708Resources提供提供操作clas ... -
Guava API学习之CharSequenceReader
2014-03-03 13:10 664CharSequenceReader类是 ... -
Guava API学习之RangeSet
2014-03-03 13:11 752前面谈到了Guava中新引入的Rang ... -
Guava API学习之Range
2014-03-03 13:10 1080在Guava中新增了一个新的类型Rang ... -
Guava Collections API学习之Multisets
2014-02-26 09:30 376今天谈谈Guava类库中的Multis ... -
JAVA设计模式学习之——工厂模式(Simple Factory)
2014-02-25 14:56 0Simple Factory模式(又 ... -
JAVA设计模式学习之——单例模式
2014-02-25 14:26 0相对于JAVA的单例模式,大家都不会很生疏了,下面是 ... -
Guava Collections API学习之Iterators
2014-02-25 14:24 644Iterators类提供了返回Itera ... -
Guava Collections API学习之Lists
2014-02-25 14:24 879Lists类主要提供了对List类的子 ... -
Guava Collections API学习之ArrayListMultimap
2014-02-25 14:25 662ArrayListMultimap类的继承关系如下图 ... -
Guava Collections API学习之AbstractMapBasedMultimap
2014-02-25 14:25 687AbstractMapBasedMult ... -
Guava Collections API学习之HashBiMap
2014-02-25 14:25 610HashBiMap存储的键和值都只能唯一 ...
相关推荐
java中常用的时间操作;如日期,时间戳,日历,字符串相互转化;时间差等常用日期功能。
DateUtils.java工具类很实用
非常好用的Date工具类 1、计算两个日期之间相差的天数 2、判断日期是否为周六日 3、获取当前周开始日期 4、获取当前周结束日期 5、判断年份是否是闰年 6、根据年份和月份计算天数 7、判断日期为该年的第几周 等等
Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )
* 文件名:DateUtils.java 日期处理相关工具类 * 版本信息:V1.0 * 日期:2013-03-11 * Copyright BDVCD Corporation 2013 * 版权所有 http://www.bdvcd.com */ public class DateUtils { /**定义常量**/ ...
DateUtils(日期工具类),包含日期格式化,解析等。
自己封装的DateUtils工具类,内含多种日期格式转换方法,自己在项目开发过程中使用,方便日期转换
基本方法较全 自带测试方式 不需要节假日等方法可以删除Lunar.java以及DateUtils的相关方法
主要为大家详细介绍了Java日期工具类DateUtils实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一些日期的处理,获取当前时间、date日期和字符串相互转化等
主要介绍了Java 中DateUtils日期工具类的实例详解的相关资料,有时候开发java项目使用日期类型,这里介绍下日期工具类,需要的朋友可以参考下
属于时间转换工具类文件,其中包含格式转换,时区转换,时间计算等。
这是自己整理的,结合公司日常开发,用到的一些常用的日期工具类。
java日期时间工具类超级全。其中包含:获得当前日期 yyyy-MM-dd HH:mm:ss;获取系统当前时间戳;获取当前日期 yy-MM-dd;得到两个时间差 格式yyyy-MM-dd HH:mm:ss;转化long值的日期为yyyy-MM-dd HH:mm:ss.SSS格式的...
DateUtils.java
主要为大家详细介绍了java中DateUtils时间工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要为大家详细介绍了Java日期处理工具类DateUtils的相关代码,包含日期和时间常用操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要为大家详细介绍了java针对于时间转换的DateUtils工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
项目中各种常用的JAVA工具类 比如FileUtils DateUtils 等等,封装得很完美
DateUtils - 日期工具类 HtmlFilterUtils - 过滤html标签 JsoupUtils - 基于jsoup过滤html标签 MoneyUtils - 获取大写金额 NumberUtils - 数字工具类 PinyinUtils - 汉字转拼音 media MediaUtils - 基于ffmpeg,...