您的位置:

Java中使用Date类进行日期格式化

一、Date类及其使用方法

在Java中,Date类用来表示日期和时间。Date类的构造方法可以带参数或不带参数。不带参数的构造方法会返回当前时间和日期的对象,如下所示:

import java.util.Date;

public class DateDemo {
   public static void main(String[] args) {
       Date date = new Date();
       System.out.println(date.toString());
   }
}

输出结果为:

Mon Feb 03 19:27:17 CST 2020

可以看到,不带参数的构造方法返回一个包含当前时间的Date对象,并使用toString()方法将其转换为一个字符串输出。

Date类还有许多其他的方法,例如getTime()方法返回自1970年1月1日以来的毫秒数,也可以使用setTime()方法设置Date对象的毫秒数。

二、SimpleDateFormat类的使用

SimpleDateFormat类用于以特定的格式格式化和解析日期。该类提供了一组预定义的格式,也可以使用自定义格式。以下是一个示例:

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
   public static void main(String[] args) {
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
       Date date = new Date();
       System.out.println(sdf.format(date));
   }
}

输出结果为:

2020年02月03日 19:27:17

可以看到,我们创建了一个SimpleDateFormat对象,并指定了日期的格式。然后,我们使用format()方法将Date对象格式化为指定格式的字符串。

SimpleDateFormat还有许多其他的方法,例如parse()方法可将字符串转换为Date对象。

三、Calendar类的使用

Calendar类用于进行日期和时间的计算和操作。该类提供了许多方法来获取和设置日期、时间、星期、月份等。以下是一个示例:

import java.util.Calendar;

public class CalendarDemo {
   public static void main(String[] args) {

       Calendar calendar = Calendar.getInstance();
       System.out.println("当前日期: " + calendar.getTime());

       // 设置时间为2020年2月14日
       calendar.set(Calendar.YEAR, 2020);
       calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
       calendar.set(Calendar.DATE, 14);

       // 输出2020年2月14日是今年的第几天
       System.out.println("2020年2月14日是今年的第" + calendar.get(Calendar.DAY_OF_YEAR) + "天");
   }
}

输出结果为:

当前日期: Mon Feb 03 19:27:17 CST 2020
2020年2月14日是今年的第45天

可以看到,我们创建了一个Calendar对象,获取了当前时间,并将其输出为一个Date对象。然后,我们使用set()方法设置日期为2020年2月14日,并使用get()方法获取该日期是今年的第几天。

四、总结

在Java中,Date类、SimpleDateFormat类和Calendar类可以用于日期和时间的计算、格式化和解析。通过使用这些类,我们可以轻松地处理日期和时间。

以下是三个类的完整代码示例:

import java.util.Date;

public class DateDemo {
   public static void main(String[] args) {
       Date date = new Date();
       System.out.println(date.toString());
   }
}
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
   public static void main(String[] args) {
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
       Date date = new Date();
       System.out.println(sdf.format(date));
   }
}
import java.util.Calendar;

public class CalendarDemo {
   public static void main(String[] args) {

       Calendar calendar = Calendar.getInstance();
       System.out.println("当前日期: " + calendar.getTime());

       // 设置时间为2020年2月14日
       calendar.set(Calendar.YEAR, 2020);
       calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
       calendar.set(Calendar.DATE, 14);

       // 输出2020年2月14日是今年的第几天
       System.out.println("2020年2月14日是今年的第" + calendar.get(Calendar.DAY_OF_YEAR) + "天");
   }
}