Java日期时间处理函数:常用函数及其格式化操作
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日期时间处理函数的常用函数及其格式化操作,可以根据需要进行灵活运用。
