Java 日期格式
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方法
公共方法 |
说明 |
final String format(Date date) |
将给定的Date对象转换为字符串。 |
Date parse(String source)throws ParseException |
将字符串转换为Date对象。 |
static final DateFormat getTimeInstance() |
以默认格式返回默认语言环境的时间格式器。 |
static final DateFormat getTimeInstance(int style) |
以给定的格式设置样式返回默认语言环境的时间格式化程序。 |
static final DateFormat getTimeInstance(int style, Locale locale) |
以给定的语言环境返回具有给定格式样式的时间格式化程序。 |
static final DateFormat getDateInstance() |
以默认格式返回默认语言环境的日期格式化程序。 |
static final DateFormat getDateInstance(int style) |
使用默认语言环境的给定格式样式返回日期格式器。 |
static final DateFormat getDateInstance(int style, Locale locale) |
以给定的语言环境返回具有给定格式样式的日期格式化程序。 |
static final DateFormat getDateTimeInstance() |
以默认格式返回默认语言环境的日期/时间格式化程序。 |
static final DateFormat getDateTimeInstance(int dateStyle,int timeStyle) |
使用给定的日期格式样式和时间格式样式返回默认语言环境的日期/时间格式化程序。 |
static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) |
返回具有给定语言环境的给定日期格式和时间格式化风格的日期/时间格式化程序。 |
static final DateFormat getInstance() |
以日期和时间的短格式返回日期/时间格式器。 |
static Locale[] getAvailableLocales() |
返回一组可用的语言环境。 |
Calendar getCalendar() |
为此DateFormat实例返回Calendar的一个实例。 |
NumberFormat getNumberFormat() |
为此DateFormat实例返回NumberFormat的一个实例。 |
TimeZone getTimeZone() |
为此DateFormat实例返回TimeZone实例。 |
Java DateFormat示例: 日期为字符串
让我们看一个简单的示例,该示例使用java.text
在Java中格式化日期和时间。 DateFormat类。
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 2015Date 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 2015Date Format using getInstance(): 31/3/15 2:37 PMDate Format using getDateInstance(): 31 Mar, 2015Date Format using getTimeInstance(): 2:37:23 PMDate Format using getDateTimeInstance(): 31 Mar, 2015 2:37:23 PMDate Format using getTimeInstance(DateFormat.SHORT): 2:37 PMDate Format using getTimeInstance(DateFormat.MEDIUM): 2:37:23 PMDate Format using getTimeInstance(DateFormat.LONG): 2:37:23 PM ISTDate 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);
}
}
输出:
Date is: Tue Mar 31 00:00:00 IST 2015