Java日期格式

本文概述

  • java.text.DateFormat字段
  • java.text.DateFormat方法
  • Java DateFormat示例:日期转换为字符串
  • Java DateFormat示例:字符串到日期
在Java中, 有两种用于格式化日期的类:DateFormat和SimpleDateFormat。
java.text.DateFormat类提供了各种方法, 以独立于语言的方式格式化和解析java中的日期和时间。 DateFormat类是一个抽象类。 java.text.Format是父类, 而java.text.SimpleDateFormat是java.text.DateFormat类的子类。
在Java中, 将日期转换为字符串称为格式化, 反之亦然。换句话说, 格式化是指字符串日期, 而解析是指字符串日期。
java.text.DateFormat字段
protected Calendar calendar protected NumberFormat numberFormat public static final int ERA_FIELD public static final int YEAR_FIELD public static final int MONTH_FIELD public static final int DATE_FIELD public static final int HOUR_OF_DAY1_FIELD public static final int HOUR_OF_DAY0_FIELD public static final int MINUTE_FIELD public static final int SECOND_FIELD public static final int MILLISECOND_FIELD public static final int DAY_OF_WEEK_FIELD public static final int DAY_OF_YEAR_FIELD public static final int DAY_OF_WEEK_IN_MONTH_FIELD public static final int WEEK_OF_YEAR_FIELD public static final int WEEK_OF_MONTH_FIELD public static final int AM_PM_FIELD public static final int HOUR1_FIELD public static final int HOUR0_FIELD public static final int TIMEZONE_FIELD public static final int FULL public static final int LONG public static final int MEDIUM public static final int SHORT public static final int DEFAULT

java.text.DateFormat方法
没有。 公开方法 描述
1) final String format(Date date) 将给定的Date对象转换为字符串。
2) Date parse(String source)throws ParseException 将字符串转换为Date对象。
3) static final DateFormat getTimeInstance() 返回具有默认语言环境默认格式样式的时间格式器。
4) static final DateFormat getTimeInstance(int style) 返回具有默认语言环境的给定格式样式的时间格式化程序。
5) static final DateFormat getTimeInstance(int style, Locale locale) 返回具有给定语言环境的给定格式样式的时间格式化程序。
6) static final DateFormat getDateInstance() 返回具有默认语言环境默认格式样式的日期格式程序。
7) static final DateFormat getDateInstance(int style) 返回具有默认语言环境的给定格式样式的日期格式程序。
8) static final DateFormat getDateInstance(int style, Locale locale) 返回具有给定语言环境的给定格式样式的日期格式化程序。
9) static final DateFormat getDateTimeInstance() 返回带有默认语言环境的默认格式样式的日期/时间格式化程序。
10) static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle) 返回具有给定日期格式样式和默认语言环境时间格式样式的日期/时间格式化程序。
11) static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) 返回具有给定语言环境的给定日期格式和时间格式化风格的日期/时间格式化程序。
12) static final DateFormat getInstance() 返回具有日期和时间的短格式样式的日期/时间格式化程序。
13) static Locale[] getAvailableLocales() 返回可用语言环境的数组。
14) Calendar getCalendar() 返回此DateFormat实例的Calendar实例。
15) NumberFormat getNumberFormat() 返回此DateFormat实例的NumberFormat实例。
16) TimeZone getTimeZone() 返回此DateFormat实例的TimeZone实例。
Java DateFormat示例:日期为字符串让我们看一下使用java.text.DateFormat类在Java中格式化日期和时间的简单示例。
import java.text.DateFormat; import java.util.Date; public class DateFormatExample { public static void main(String[] args) { Date currentDate = new Date(); System.out.println("Current Date: "+currentDate); String dateToStr = DateFormat.getInstance().format(currentDate); System.out.println("Date Format using getInstance(): "+dateToStr); } }

输出:
Current Date: Tue Mar 31 14:37:23 IST 2015 Date Format using getInstance(): 31/3/15 2:37 PM

让我们看看使用java.text.DateFormat类在Java中格式化日期和时间的完整示例。
import java.text.DateFormat; import java.util.Date; public class DateFormatExample2 { public static void main(String[] args) { Date currentDate = new Date(); System.out.println("Current Date: "+currentDate); String dateToStr = DateFormat.getInstance().format(currentDate); System.out.println("Date Format using getInstance(): "+dateToStr); dateToStr = DateFormat.getDateInstance().format(currentDate); System.out.println("Date Format using getDateInstance(): "+dateToStr); dateToStr = DateFormat.getTimeInstance().format(currentDate); System.out.println("Date Format using getTimeInstance(): "+dateToStr); dateToStr = DateFormat.getDateTimeInstance().format(currentDate); System.out.println("Date Format using getDateTimeInstance(): "+dateToStr); dateToStr = DateFormat.getTimeInstance(DateFormat.SHORT).format(currentDate); System.out.println("Date Format using getTimeInstance(DateFormat.SHORT): "+dateToStr); dateToStr = DateFormat.getTimeInstance(DateFormat.MEDIUM).format(currentDate); System.out.println("Date Format using getTimeInstance(DateFormat.MEDIUM): "+dateToStr); dateToStr = DateFormat.getTimeInstance(DateFormat.LONG).format(currentDate); System.out.println("Date Format using getTimeInstance(DateFormat.LONG): "+dateToStr); dateToStr = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(currentDate); System.out.println("Date Format using getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT): "+dateToStr); } }

输出:
Current Date: Tue Mar 31 14:37:23 IST 2015 Date Format using getInstance(): 31/3/15 2:37 PM Date Format using getDateInstance(): 31 Mar, 2015 Date Format using getTimeInstance(): 2:37:23 PM Date Format using getDateTimeInstance(): 31 Mar, 2015 2:37:23 PM Date Format using getTimeInstance(DateFormat.SHORT): 2:37 PM Date Format using getTimeInstance(DateFormat.MEDIUM): 2:37:23 PM Date Format using getTimeInstance(DateFormat.LONG): 2:37:23 PM IST Date Format using getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT): 31 March, 2015 2:37 PM

Java DateFormat示例:字符串到日期让我们看一个简单的示例, 使用java.text.DateFormat类将字符串转换为日期。
import java.text.DateFormat; import java.util.Date; public class DateFormatExample3 { public static void main(String[] args)throws Exception { Date d = DateFormat.getDateInstance().parse("31 Mar, 2015"); System.out.println("Date is: "+d); } }

【Java日期格式】输出:
Date is: Tue Mar 31 00:00:00 IST 2015

    推荐阅读