Java中的日期和时间函数使用指南
Java中有很多的日期和时间函数,这些函数可以用于处理日期和时间。在这里我们将一一介绍这些函数的用法。
1. Date类
Date类是Java中最常用的处理日期和时间的类。它把时间表示成一个毫秒数,从1970年1月1日00:00:00.000开始计算。
创建Date对象:
可以通过构造函数创建一个Date对象,它有两个构造函数:
public Date()
//使用当前时间初始化
public Date(long?date)
//使用从1970年1月1日00:00:00.000开始计算的毫秒数初始化。
比如:
Date date = new Date(); //获取当前时间
格式化日期字符串:
使用SimpleDateFormat可以把Date转化成字符串格式化输出,也可以把字符串转化成Date。它使用pattern来指定输出日期的格式。
//Date→String:使用DateFormat类或者SimpleDateFormat类的format方法
DateFormat df1 = DateFormat.getDateInstance(); //默认风格?
System.out.println(df1.format(date));
SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df2.format(date));
//String→Date
SimpleDateFormat df3 = new SimpleDateFormat("yyyy-MM-dd");
String dateString = “2017-04-06”;
Date date1 = df3.parse(dateString);
2. Calendar类
Calendar是Java中的一种日期和时间操作类,它提供了很多有用的方法。Calendar类的实例通过调用getInstance()方法来获取。它提供了一些与日期和时间相关的常量。在Calendar类中,月份是从0开始的。
获取Calendar对象:
//第一种方法,使用getInstance()来获取当前日期和时间的calendar对象
Calendar cal1 = Calendar.getInstance();
//第二种方法,创建一个空的Calendar对象,再设置时、分、秒等信息
Calendar cal2 = Calendar.getInstance();
cal2.set(Calendar.YEAR,2018); //设置年份
cal2.set(Calendar.MONTH, Calendar.FEBRUARY); //设置月份,注意0表示1月份
cal2.set(Calendar.DATE,29); //设置日期
cal2.set(Calendar.HOUR_OF_DAY,0); //设置小时
cal2.set(Calendar.MINUTE,0); //设置分钟
cal2.set(Calendar.SECOND,0); //设置秒
格式化日期输出
使用Calendar中的get方法,可以得到Calendar中的时间信息。
//格式化输出日期输出
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
System.out.println(df.format(calendar.getTime())); // 当前时间
获取年份、月份、日期、小时、分钟、秒等信息
在Calendar中,年月日等信息都是通过get方法得到的。 get(int field)方法返回Calendar中指定field的值。具体可以从Calendar类中获取所有field的名称。
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)+1; //注意,Calendar中的月份是从0开始的。
int day = calendar.get(Calendar.DATE);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
3. LocalDate、LocalTime和LocalDateTime类
jdk8中引入了新的日期时间类,它们是LocalDate、LocalTime和LocalDateTime。这些类都是Java 8中的新类,提供了更好的日期时间处理方法。
LocalDate
LocalDate是代表日期的类,它提供了一些获取日期信息的方法,例如:年、月、日。
获取当前日期:
LocalDate date = LocalDate.now(); //获取当前日期
获取年份、月份、日期等信息
LocalDate date = LocalDate.now();
int year = date.getYear(); //获取年份
int month = date.getMonthValue(); //获取月份,返回1-12之间的整数。
int day = date.getDayOfMonth(); //获取日期
LocalTime
LocalTime是代表时间的类,它提供了一些获取时间信息的方法,例如:时、分、秒等。
获取当前时间:
LocalTime time = LocalTime.now(); //获取当前时间
获取Hour、Minute、Second等信息:
LocalTime time = LocalTime.now();
int hour = time.getHour(); //获取小时
int minute = time.getMinute(); //获取分钟
int second = time.getSecond(); //获取秒
LocalDateTime
LocalDateTime是代表日期和时间的类,它同时提供了LocalDate和LocalTime的功能。
获取当前日期和时间:
LocalDateTime dateTime = LocalDateTime.now(); //获取当前日期和时间。
获取年份、月份、日期等信息
LocalDateTime dateTime = LocalDateTime.now(); ?
int year = dateTime.getYear(); //获取年份
int month = dateTime.getMonthValue(); //获取月份
int day = dateTime.getDayOfMonth(); //获取日期
int hour = dateTime.getHour(); //获取小时
int minute = dateTime.getMinute(); //获取分钟
int second = dateTime.getSecond(); //获取秒
总结:
以上介绍的日期和时间函数在Java中应该算是基本的操作了。使用日期时间函数时,我们可以根据需要选择合适的类和方法进行使用。因为Java中有很多的日期时间类和方法可以使用,我们可以根据自己的需求进行选择和学习。
