欢迎访问宙启技术站
智能推送

Java日期时间处理函数:常用函数及其格式化操作

发布时间:2023-05-23 17:25:50

Java中常用的日期时间处理函数有很多,我们经常需要对日期进行格式化、比较、计算等操作,下面就来介绍几个常用的函数及其格式化操作。

一、日期格式化函数

在Java中,DateFormat类用于格式化日期,主要有两个子类:SimpleDateFormat和DateFormatSymbols。其中SimpleDateFormat类是一个可以将日期格式化为字符串、也可以将字符串解析为日期的类,DateFormatSymbols类则用于格式化与Locale相关的符号。

1.  SimpleDateFormat类的使用方法

SimpleDateFormat类中提供了一些格式化的模板,常用的有:

yyyy-MM-dd    //年-月-日    

yyyy/MM/dd    //年/月/日    

yyyy.MM.dd    //年.月.日

HH:mm:ss      //时:分:秒

yyyy-MM-dd HH:mm:ss     //年-月-日 时:分:秒

yyyy/MM/dd HH:mm:ss     //年/月/日 时:分:秒

yyyy.MM.dd HH:mm:ss     //年.月.日 时:分:秒

使用SimpleDateFormat需要注意以下几点:

1、SimpleDateFormat不是线程安全的,如果要在多线程环境下使用需要注意同步。

2、在使用SimpleDateFormat时,特殊字符需要转义。

下面是一个使用SimpleDateFormat类的例子:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

String dateStr = sdf.format(new Date());    //格式化日期

Date date = sdf.parse(dateStr);    //将字符串转换为日期

2.  DateFormatSymbols类的使用方法

DateFormatSymbols类用于格式化与Locale相关的符号,常用的有:

//获取指定Locale对应的格式化符号

public static DateFormatSymbols getInstance(Locale locale)

//获取日期中常用的月份的名称

public String[] getMonths()

//获取日期中常用的星期的名称

public String[] getWeekdays()

下面是一个使用DateFormatSymbols类的例子:

String[] months = new DateFormatSymbols(Locale.CHINA).getMonths();

String[] weekdays = new DateFormatSymbols(Locale.CHINA).getWeekdays();

二、日期比较函数

Java中可以使用Date类中的before、after和compareTo等方法进行日期的比较,其使用方法如下:

1.  before方法

public boolean before(Date when)

判断当前日期是否在给定日期之前。

2.  after方法

public boolean after(Date when)

判断当前日期是否在给定日期之后。

3.  compareTo方法

public int compareTo(Date when)

比较当前日期与给定日期的大小,返回值为0、正整数、负整数,当为0时表示两个日期相等,当返回值为正整数时表示当前日期在给定日期之后,反之为负整数。

下面是一个使用比较日期的例子:

Date date1 = new Date();

Date date2 = new Date();

//比较date1和date2

if (date1.before(date2)) {

    System.out.println("date1在date2之前");

} else if (date1.after(date2)) {

    System.out.println("date1在date2之后");

} else {

    System.out.println("date1和date2相等");

}

三、日期计算函数

Java中可使用Calendar类进行日期的计算,主要有以下方法:

1.  add方法

public void add(int field, int amount)

向当前日期添加给定的时间量。

其中,参数field表示时间单位,例如Calendar.MONTH表示月份,Calendar.YEAR表示年份;参数amount表示需要添加的数量。

下面是一个使用add方法计算日期的例子:

Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.MONTH, 1);    //将当前日期加上一个月

System.out.println(calendar.getTime());     

2.  get方法

public int get(int field)

获取当前日期指定时间单位的值。

3.  set方法

public void set(int field, int value)

设置指定时间单位的值。

下面是一个使用Calendar类进行日期计算的例子:

Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);    //获取当前年份

int month = calendar.get(Calendar.MONTH) + 1;    //获取当前月份,需要加1

int day = calendar.get(Calendar.DAY_OF_MONTH);    //获取当前日期

System.out.println("当前日期为:" + year + "-" + month + "-" + day);

calendar.set(Calendar.MONTH, 8);    //设置当前月份为8月份

System.out.println("修改后的日期为:" + calendar.get(Calendar.YEAR) + "-"

        + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH));

以上就是Java日期时间处理函数的常用函数及其格式化操作,可以根据需要进行灵活运用。