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

Java中的日期和时间函数使用指南

发布时间:2023-06-11 02:52:10

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中有很多的日期时间类和方法可以使用,我们可以根据自己的需求进行选择和学习。