JAVA日期Date操作
原创
©著作权归作者所有:来自51CTO博客作者l8947943s的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.获取当前时间
Date d = new Date(); //当无参数时候,打印出来的是系统当前时间
System.out.println(d);
Date d1 = new Date(5000); // 当有参数时候,表示得到系统初试时间,从1970年1月1日 早上8点0分0秒 开始经历了5秒的时间
System.out.println(d1);
输出如图所示

2.当前时间转成数字
Date d = new Date();
System.out.println("d : " + d.getTime());//这个整数代表 1970.1.1 08:00:00:000,每经历一毫秒,增加1
System.out.println("d : " + System.currentTimeMillis());//通过System.currentTimeMillis()获取当前日期的毫秒数
getTime()和 System.currentTimeMillis()作用相同
3.SimpleDateFormat 日期格式化类
3.1日期转字符串
public class tem {
public static void main(String[] args) {
//y 代表年 M 代表月 d 代表日 H 代表24进制的小时 h 代表12进制的小时 m 代表分钟 s 代表秒 S 代表毫秒
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
Date d = new Date();
System.out.println(d);
String str = sdf.format(d);
System.out.println(str);
}
}
输出如下

3.2 字符串转日期
//数据sdf格式设定后,字符串s必须与其对应,否则会抛出异常
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String s = "2018/12/29 0:16:26";
try {
Date d = sdf.parse(s); // 将字符串转换成日期格式
System.out.println(d.toString());
}catch (Exception e){
e.printStackTrace();
}
输出如下

4.Calendar与Date进行转换
一般Calendar是进行日历的翻页操作等,比如计算下个月的星期三操作
Calendar c = Calendar.getInstance(); // 采用单例模式获取日历对象Calendar.getInstance();
Date d = c.getTime(); // 通过日历对象得到日期对象
System.out.println(d);
Date d1 = new Date(0);//获取初始化日期时间,1970年
System.out.println(d1);
c.setTime(d1); //将获取的日期放入日历对象中
System.out.println(c.getTime()); //获取日期对象
输出如下

5.日历的变化
add方法,在原日期上增加年/月/日
set方法,直接设置年/月/日
日,月,年等都用Calendar.YEAR,Calendar.MONTH,Calendar.DATE
public class tem {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance(); // 采用单例模式获取日历对象Calendar.getInstance();
Date d = c.getTime();
System.out.println(sdf.format(d)); // 获取到当前日期
c.setTime(d);
c.add(Calendar.MONTH, 1);//给当前日期加上一个月
System.out.println(sdf.format(c.getTime()));
}
}
输出如下
