📜  Java中的日期 toString() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:02:02.616000             🧑  作者: Mango

Java中的日期 toString() 方法及示例

在Java中,日期是常用的数据类型之一,而toString()方法则是Java中用于将对象转换为字符串的常用方法之一,Date类、Calendar类中的日期类型均支持toString()方法,可以将日期对象转成字符串类型。

Date类中的toString()方法

在Date类中,toString()方法返回一个String类型的字符串,它表示此Date对象的时间值(以毫秒为单位)。以下是Date类中的toString()方法的使用示例。

Date date = new Date();
String str = date.toString();
System.out.println(str);

输出:

Wed Sep 22 22:41:27 CST 2021
Calendar类中的toString()方法

Calendar类是Java 中用于操作日期和时间的类,它的toString()方法返回一个字符串,该字符串包含它所表示的日期和时间的信息。以下是Calendar类中的toString()方法的使用示例。

Calendar cal = Calendar.getInstance();
String str = cal.toString();
System.out.println(str);

输出:

java.util.GregorianCalendar[time=1632366162912,areFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2021,MONTH=8,WEEK_OF_YEAR=39,WEEK_OF_MONTH=4,DAY_OF_MONTH=23,DAY_OF_YEAR=266,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=36,SECOND=2,MILLISECOND=912,ZONE_OFFSET=28800000,DST_OFFSET=0]

可以看到,输出的字符串中包含了日期和时间的详细信息。

自定义格式化字符串

Date和Calendar类的toString()方法输出的字符串并不一定符合我们的需求,我们可以通过SimpleDateFormat类格式化输出日期。以下是使用SimpleDateFormat类自定义格式化输出日期的示例代码。

Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E HH:mm:ss");
System.out.println(sdf.format(now));

输出:

2021年09月23日 星期四 00:17:33

在上述代码中,我们使用了SimpleDateFormat类自定义了日期的输出格式,其中:

  • yyyy 表示4位年份;
  • MM 表示2位月份;
  • dd 表示2位日期;
  • E 表示星期几;
  • HH 表示24小时制的小时;
  • mm 表示分钟;
  • ss 表示秒。
结论

Date类和Calendar类中的toString()方法都可以将日期对象转成字符串类型,但是输出的字符串可能与需要的字符串格式不符。我们可以通过SimpleDateFormat类自定义字符串格式来满足我们的需求。