Java中,日期时间字符串转换成Date对象可以通过SimpleDateFormat类来实现,而时间日期格式标识符则是指在格式化和解析日期时间字符串时使用的特定符号和模式。本文主要介绍Java中时间日期字符串转成Date的方法及代码,和时间日期转换用到的格式化标识符的说明对照。

1、字符串转成Date的方法

文档https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html

String string = "January 2, 2010";
DateFormat format = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
Date date = format.parse(string);
System.out.println(date); // Sat Jan 02 00:00:00 GMT 2010

String str_date = "11-June-07";
DateFormat formatter;
Date date;
formatter = new SimpleDateFormat("dd-MMM-yy");
date = formatter.parse(str_date);

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date;
try {
    date = dateFormat.parse("2013-12-4");
    System.out.println(date.toString()); // Wed Dec 04 00:00:00 CST 2013
    String output = dateFormat.format(date);
    System.out.println(output); // 2013-12-04
} 
catch (ParseException e) {
    e.printStackTrace();
}

2、时间日期格式化字符说明对照

字符串

格式化字符

2001.07.04 AD at 12:08:56 PDT

yyyy.MM.dd G 'at' HH:mm:ss z

Wed, Jul 4, '01

EEE, MMM d, ''yy

12:08 PM

h:mm a

12 o'clock PM, Pacific Daylight Time

hh 'o''clock' a, zzzz

0:08 PM, PDT

K:mm a, z

02001.July.04 AD 12:08 PM

yyyyy.MMMM.dd GGG hh:mm aaa

Wed, 4 Jul 2001 12:08:56 -0700

EEE, d MMM yyyy HH:mm:ss Z

010704120856-0700

yyMMddHHmmssZ

2001-07-04T12:08:56.235-0700

yyyy-MM-dd'T'HH:mm:ss.SSSZ

2001-07-04T12:08:56.235-07:00

yyyy-MM-dd'T'HH:mm:ss.SSSXXX

2001-W27-3

YYYY-'W'ww-u

格式化标识符对照

符号

含义

表示方式

示例

G

日期适用的时代

文本

公元; Anno Domini; A

u

年份

2004; 04

y

年份(纪元内)

2004; 04

D

年内的天数

数字

189

M/L

年内的月份

数字/文本

7; 07; 七月; July; J

d

月内的天数

数字

10

Q/q

年内的季度

数字/文本

3; 03; Q3; 第三季度

Y

基于周的年份

1996; 96

w

年内的周数(基于周)

数字

27

W

月内的周数

数字

4

E

周内的天数

文本

星期二; Tuesday; T

e/c

本地化的周内天数

数字/文本

2; 02; 星期二; Tuesday; T

F

月内的周数

数字

3

a

上午/下午

文本

下午

h

上午/下午的时钟小时 (1-12)

数字

12

K

上午/下午的小时 (0-11)

数字

0

k

上午/下午的时钟小时 (1-24)

数字

0

H

一天中的小时 (0-23)

数字

0

m

小时中的分钟数

数字

30

s

分钟中的秒数

数字

55

S

秒的小数部分

小数

978

A

一天中的毫秒数

数字

1234

n

秒的纳秒部分

数字

987654321

N

一天中的纳秒数

数字

1234000000

V

时区 ID

时区 ID

美国/洛杉矶; Z; -08:30

z

时区名称

时区名称

太平洋标准时间; PST

O

本地化的区偏移

偏移-O

GMT+8; GMT+08:00; UTC-08:00;

X

区偏移 'Z' 为零

偏移-X

Z; -08; -0830; -08:30; -083015; -08:30:15;

x

区偏移

偏移-x

+0000; -08; -0830; -08:30; -083015; -08:30:15;

Z

区偏移

偏移-Z

+0000; -0800; -08:00;

推荐文档