时间处理

  • 时间转换
  • 时间加减


时间转换

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

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实例来处理。

Java GMT转换为年月日时分秒 java年月日时分秒转年月日_时间转换

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

时间加减

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

Java GMT转换为年月日时分秒 java年月日时分秒转年月日_开发语言_02


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

给要加工的时间放入后就该进行操作了,我们使用的add()方法进行操作

Java GMT转换为年月日时分秒 java年月日时分秒转年月日_Java GMT转换为年月日时分秒_03

如上图,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形式了,那如何下处理即可

Java GMT转换为年月日时分秒 java年月日时分秒转年月日_java_04

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