java中的日期操作

1.获取当前时间

Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);//年
int month = cal.get(Calendar.MONTH) + 1; // 0代表1月,11代表12月
int day = cal.get(Calendar.DAY_OF_MONTH);//日
int hour = cal.get(Calendar.HOUR_OF_DAY);//时
int minute = cal.get(Calendar.MINUTE);//分
//输出当前时间
System.out.println(year + "-" + month + "-" + day + "-" + hour + "-" + minute);

2.获取几个小时前的时间

Calendar cal = Calendar.getInstance();
//设置日期为15小时之前
cal.set(Calendar.HOUR_OF_DAY, (cal.get(Calendar.HOUR_OF_DAY) - 15));
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1; // 0代表1月,11代表12月
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
//自动进行日期转换,输出15小时之前的具体时间
System.out.println(year + "-" + month + "-" + day + "-" + hour + "-" + minute);

3.日期格式转换

Calendar cal = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd-HH");
//输出年-月-日-时格式时间
System.out.println(df.format(cal.getTime()));
//和上一句效果相同
System.out.println(df.format(new Date()));

SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd--HH:mm:ss");
//输出年-月-日--时:分:秒格式时间
System.out.println(df2.format(cal.getTime()));
//和上一句效果相同
System.out.println(df2.format(new Date()));

另一种格式化日期方法

System.out.println(DateFormatUtils.format(new Date(), "yyyy-MM-dd"));

4.获取当天起始时间

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//起始日期
Date date = Date.from(LocalDate.parse(df.format(new Date()), dtf).atStartOfDay(ZoneId.systemDefault()).toInstant());
System.out.println(date);//Mon Dec 16 00:00:00 CST 2019
System.out.println(df.format(date));//2019-12-16

另一种方式

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//获取当前时间戳(秒)
long epochSecond = LocalDate.parse(df.format(new Date()), dtf)
        .atStartOfDay(ZoneId.systemDefault())
        .toInstant()
        .getEpochSecond();
System.out.println(new Date());//Mon Dec 16 15:03:34 CST 2019
//将时间戳转为Date格式
Date date = new Date(epochSecond * 1000);
System.out.println(date);//Mon Dec 16 00:00:00 CST 2019

5.获取当前时间戳

System.out.println(new Date().getTime());
System.out.println(System.currentTimeMillis());

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值