Java中的日期和时间函数:常用方法和格式化
Java中的日期和时间函数是非常常用的。日期和时间函数在程序的编写和运行中都是非常重要的,如在编写J2EE、Java应用程序、Android应用程序和桌面应用程序等时都需要使用。本篇文章将详细介绍Java中的日期和时间函数,主要分为两部分,分别是常用方法和格式化。
一、常用方法
Java为我们提供了非常丰富的日期和时间函数,如获取当前日期、获取时间戳、获取指定日期等。下面我们详细了解一下Java中的日期和时间函数的常用方法。
1. 获取当前日期
Java中获取当前日期的方法有很多种。比较常用的方法是使用Calendar类和Date类。使用Calendar类的方法如下:
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("当前日期:" + sdf.format(cal.getTime()));
使用Date类的方法如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("当前日期:" + sdf.format(date));
2. 获取时间戳
时间戳是指从1970年1月1日0时0分0秒到现在的秒数。Java中获取时间戳的方法是使用System.currentTimeMillis()。代码如下:
long timestamp = System.currentTimeMillis() / 1000;
System.out.println("时间戳:" + timestamp);
3. 获取指定日期
Java中获取指定日期的方法是使用Calendar类和SimpleDateFormat类。使用Calendar类的方法如下:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2022);
cal.set(Calendar.MONTH, Calendar.JANUARY);
cal.set(Calendar.DATE, 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("指定日期:" + sdf.format(cal.getTime()));
使用SimpleDateFormat类的方法如下:
String inputDate = "2022-01-01";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(inputDate);
System.out.println("指定日期:" + sdf.format(date));
4. 获取日期的加减
Java中获取日期的加减是使用Calendar类的方法,具体代码如下:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("昨天日期:" + sdf.format(cal.getTime()));
cal.add(Calendar.DATE, 2);
System.out.println("明天日期:" + sdf.format(cal.getTime()));
5. 获取两个日期的天数差
Java中获取两个日期的天数差是使用Calendar类的方法,具体代码如下:
Calendar cal = Calendar.getInstance();
cal.set(2022, 0, 1);
Date date1 = cal.getTime();
cal.set(2021, 11, 31);
Date date2 = cal.getTime();
long diff = (date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000);
System.out.println("两个日期的天数差:" + diff);
二、格式化
Java中的日期和时间函数输出的格式可能是不符合我们要求的,这时需要使用格式化。Java中的日期和时间格式化主要是使用SimpleDateFormat类。下面我们详细了解一下Java中的日期和时间格式化。
1. 基本格式化
Java中格式化日期和时间的方法是使用SimpleDateFormat类的format方法。具体代码如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
2. 自定义格式化
Java中可以自定义日期和时间的格式化方式,比如年、月、日、时、分、秒等。自定义的格式化方式可以使用SimpleDateFormat类的format方法和parse方法。具体代码如下:
String inputDate = "2020/09/15";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
Date date = sdf1.parse(inputDate);
System.out.println(sdf2.format(date));
3. 格式化日期
Java中格式化日期的方法是使用SimpleDateFormat的仅包含日期的格式。具体代码如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
System.out.println(sdf.format(date));
4. 格式化时间
Java中格式化时间的方法是使用SimpleDateFormat的仅包含时间的格式。具体代码如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println(sdf.format(date));
5. 格式化星期
Java中格式化星期的方法是使用SimpleDateFormat的包含星期的格式。具体代码如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 EEEE");
System.out.println(sdf.format(date));
三、总结
本篇文章介绍了Java中的日期和时间函数,主要分为两部分,常用方法和格式化。常用方法包括获取当前日期、获取时间戳、获取指定日期、获取日期的加减、获取两个日期的天数差等。格式化包括基本格式化、自定义格式化、格式化日期、格式化时间和格式化星期。通过本篇文章的学习,相信大家对Java中的日期和时间函数有了更深入的了解和认识。
