一,Date日期的创建
时间原点的概念:Java中Date日期从1970年1月1日8点0分0秒开始计算
通过date方法创建日期:
二,getTime和System.currentTimeMillis()
获得从现在距时间原点的毫秒数
三,日期格式化
format方法:日期转换字符串
parse方法:字符串转换日期
1.日期转换字符串
y 代表年
M 代表月
d 代表日
H 代表24进制的小时
h 代表12进制的小时
m 代表分钟
s 代表秒
S 代表毫秒
2.字符串转换日期
日期格式必须和提供的字符串格式保持一致,如果不一致就会抛出异ParseException。
SimpleDateFormat ft = new SimpleDateFormat ("HH:mm:ss"); ft.setTimeZone(TimeZone.getTimeZone("US"));//调成US时区,时间从1970年1月1日8点0分0秒开始计算
四、Calendar日历类
add方法:在原日期上增加年/月日。
set方法:直接设置年/月/日。
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test {
//单例模式!
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) {
//格式化日期
Calendar c = Calendar.getInstance();
//将日历格式化为日期
Date now = c.getTime();
//当前日期
System.out.println("当前日期:" + Format(c.getTime()));
//下个月的今天
c.setTime(now);
c.add(Calendar.MONDAY,1);
System.out.println("下个月的今天:" +Format(c.getTime()));
//去年的今天
c.setTime(now);
c.add(Calendar.YEAR,-1);
System.out.println("去年的今天:" + Format(c.getTime()));
//上个月的第三天
c.setTime(now);
c.add(Calendar.YEAR,-1);
c.set(Calendar.DATE,3);
System.out.println("上个月的第三天:" +Format(c.getTime()));
}
private static String Format(Date time){
return sdf.format(time);
}
}