【时间转换,时间处理及年月日时分秒加减】

时间转换

废话不多说,首先是一个时间转换处理,一个是时间转为指定格式字符串。一个是字符串转为时间处理

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;



public class Appp {
    public static void main(String[] args) throws ParseException {
        //创建一个当前时间
        Date nowDate = new Date();
        //时间处理类-此处处理为XXXX-XX-XX XX:XX:XX类型,自行设置类型
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        //将时间转换为对应年月日时分秒字符格式
        String nowTime = simpleDateFormat.format(nowDate);
        //转为年月日
        String nowTime1 = sf.format(nowDate);
        System.out.println("======年月日时分秒=====>"+nowTime);
        System.out.println("======年月日=====>"+nowTime1);
        //将时间字符串转为对应时间
        Date stringToDate = simpleDateFormat.parse(nowTime);
        System.out.println("========时间字符转换后时间========"+stringToDate);


    }

}

由上面代码块中可以看出主要使用一个SimpleDateFormat 类进行对应处理。不过在时间字符转为时间是得注意,在创建对应的SimpleDateFormat 时放入的构造参数结构类型得和传入字符时间格式一致。实例的是SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);那么调用SimpleDateFormat的parse方法时放入的时间字符格式就得一致为 2023-01-03 12:03:00这样格式,不然就会报错如下图。下图是我传的是2023-01-18 ,很显然是不符合实例SimpleDateFormat时的传入格式。所以我们得单独创个名为df的SimpleDateFormat实例来处理。
在这里插入图片描述

Date中getTime()方法为转为时间戳,时间戳为1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数

时间加减

时间加减就是处理时间对应年或月或日或时或分或秒的加减处理,此处我们使用的是Calendar类,他可以帮我们处理好比如2月1日,我时间减少一天后直接变为1月31日,而不时2月0这样。

在这里插入图片描述
首先创建一个Calendar,此处实例的为GregorianCalendar,它是继承了Calendar。与其他的实现类差别此处就不赘述,感兴趣的老铁可以自行点进类中看源码解析,说明也很清楚。然后就是调用setTime(此处放入要操作的时间),比如我这是new 了一个当前时间,就是对当前时间的一个操作,也可放入对应像操作的时间。至于时间格式转换就参照上文处理。

给要加工的时间放入后就该进行操作了,我们使用的add()方法进行操作
在这里插入图片描述

如上图,add方法中有两个参数,第一个是代表要操作的位置。
field参数

field参数表示值
1表示年
2表示月
3表示周–年周
4表示周–月周
5表示天数–月天
6表示天数–年天
7表示天数–周天

其余的感兴趣大家可以去看Calendar中源码表示,此处就列常见的
那么如果表示月份天数+1天怎么表示呢,如下field参数5表示月天,amount参数1则表示加一天,如果为-1则表示减一天。

		calendar.add(5,1);

如果我还想在对于年操作进行减一年处理呢,如下图

		calendar.add(1,-1);

好现在我们对时间操作完成了,要转为我们的Date形式了,那如何下处理即可

在这里插入图片描述

OK以上便是对于一个时间操作的简单处理过程,应该能应付大部分需求
有什么其他问题欢迎留言讨论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值