Java程序模块通常都有自己的公共日期时间处理类,主要实现比如:
时间格式化、获取当前日期的前后某个时间、日期时间比较等功能;
1. 日期格式化
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startDate = format.format(date); // 获得格式化后的字符串
2. 日期增减
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.DAY_OF_YEAR, 7); //当前时间退后7天 ,如果要当前时间前7天就 用-7
format.format(c.getTime())
3. 另外的一些用法
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss",Locale.SIMPLIFIED_CHINESE); //增加本地时区设置
4. 通常需要增加一个日期时间处理的公共类以处理
比如:
/**
* 得到从1970到1994年的秒数
* @param date 时间
* @return 计数值
*/
public static long getSecondFrom70To94()
{
Calendar cs = Calendar.getInstance();
cs.set(Calendar.YEAR, 1970);
cs.set(Calendar.MONTH, 1);
cs.set(Calendar.DAY_OF_MONTH, 1);
cs.set(Calendar.HOUR_OF_DAY, 0);
cs.set(Calendar.MINUTE, 0);
cs.set(Calendar.SECOND, 0);
cs.set(Calendar.MILLISECOND, 0);
Calendar ce = Calendar.getInstance();
ce.set(Calendar.YEAR, 1994);
ce.set(Calendar.MONTH, 1);
ce.set(Calendar.DAY_OF_MONTH, 1);
ce.set(Calendar.HOUR_OF_DAY, 0);
ce.set(Calendar.MINUTE, 0);
ce.set(Calendar.SECOND, 0);
ce.set(Calendar.MILLISECOND, 0);
return(long)(ce.getTimeInMillis() - cs.getTimeInMillis());
}