关闭

Java日期格式化之将String类型的GMT,GST日期转换成Date类型

标签: String类型的格林时间转DateAndroid String类型的日期转AndroidString类型的GMTGST日期转换成Date类型
24187人阅读 评论(1) 收藏 举报
分类:

请尊重他人的劳动成果,转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 

http://blog.csdn.net/fengyuzhengfan/article/details/40164721

在实际开发过程中经常会需要将Date类型的数据封装成XMLJson格式在网络上进行传输,另外在将Date类型的数据存到Sqlite数据库中后再取出来的时候只能获取String类型的日期了,这是因为SQLite是无类型的。这样不得不面对将String 类型的日期转换成Date类型的问题。下面就介绍一下如何将String类型的GMTGST日期转换成Date对象。

JDK1.1之前可以使用newDate(“”)来将String类型的日期转换成Date类型的对象。但自JDK1.1开始已将不建议这样做了。下面就介绍一下用SimpleDateFormat类来将String类型的日期转换成Date对象。

SimpleDateFormat类的概述:


SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。

SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。

日期和时间模式

日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 'A' 'Z' 'a' 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。"''" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。

定义了以下模式字母(所有其他字符'A' 'Z' 'a' 'z' 都被保留):

字母

日期或时间元素

表示

示例

G

Era 标志符

Text

AD

y

Year

1996; 96

M

年中的月份

Month

July; Jul; 07

w

年中的周数

Number

27

W

月份中的周数

Number

2

D

年中的天数

Number

189

d

月份中的天数

Number

10

F

月份中的星期

Number

2

E

星期中的天数

Text

Tuesday; Tue

a

Am/pm 标记

Text

PM

H

一天中的小时数(0-23

Number

0

k

一天中的小时数(1-24

Number

24

K

am/pm 中的小时数(0-11

Number

0

h

am/pm 中的小时数(1-12

Number

12

m

小时中的分钟数

Number

30

s

分钟中的秒数

Number

55

S

毫秒数

Number

978

z

时区

General time zone

Pacific Standard Time; PST; GMT-08:00

Z

时区

RFC 822 time zone

-0800

 

示例

以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间 2001-07-04 12:08:56

日期和时间模式

结果

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

2001.07.04 AD at 12:08:56 PDT

"EEE, MMM d, ''yy"

Wed, Jul 4, '01

"h:mm a"

12:08 PM

"hh 'o''clock' a, zzzz"

12 o'clock PM, Pacific Daylight Time

"K:mm a, z"

0:08 PM, PDT

"yyyyy.MMMMM.dd GGG hh:mm aaa"

02001.July.04 AD 12:08 PM

"EEE, d MMM yyyy HH:mm:ss Z"

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

"yyMMddHHmmssZ"

010704120856-0700

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

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

 

 

String类型的GMTGST日期转换成Date对象


String stringDate = "Thu Oct 16 07:13:48 GMT 2014";

SimpleDateFormat sdf = newSimpleDateFormat("EEE MMM ddHH:mm:ss 'GMT' yyyy",Locale.US);

Date date =sdf.parse(stringDate);

//     System.out.println(date.toString());

sdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");    

System.out.println(sdf.format(date));

代码分析:

在实例化SimpleDateFormat类的时候需要指定两个参数,第一个参数是要解析的日期模式,第二个参数是指定语言环境的。在有些时候第二参数是可以省略的,但在解析String类型的GMTGST日期的时候需要将第二个参数指定为Locale.USLocale.UKLocale.ENGLISH否则会出现编译错误。

关于第一个参数日期模式是要根据要解析的String类型日期格式不同而不同,其中EEE代表星期,MMM代表月份,dd代表天,HH代表小时,mm代表分钟,ss代表秒,这里要特别注意的是’GMT’,它代表你要解析的StringGMT格式的时间,如果GST格式可以使用’ GST’来代替’GMT’

运行效果图

将String类型的GMT、GST日期转换成Date对象

 

10
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Java本地时间与GMT时间的转换

格林尼治标准时间(GMT) 由来   由于地球轨道并非圆形,其运行速度又随着地球与太阳之间的距离改变而出现变化,因此视太阳时欠缺均匀性。视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。...
  • qq_16618813
  • qq_16618813
  • 2016-05-18 18:22
  • 3313

Java处理GMT时间和UTC时间

时间标准简介UTC(世界标准时间) 协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”/法文“Temps Universe...
  • FX_SKY
  • FX_SKY
  • 2016-01-05 15:28
  • 20624

springmvc/springboot处理前台字符串日期自动转换成后台date类型的三种办法

问题还原:当前台提交日期格式数据到后台保存时,已办以字符串的形式传输,如果后台是data类型接受的话会报400格式错误。这时候就需要处理一下: 第0种(最low的方式):后台用String类型字段接...
  • eumenides_
  • eumenides_
  • 2018-01-11 14:06
  • 113

原型的Date类型数据格式转换成需要的日期格式

Date原型的格式,可以在控制台打印出来看一下:new Date().toString(); 打印出来是这样的格式:Wed Jun 29 17:26:16 CST 2016 自己设置的转换格式是这...
  • liyintaoliuyun
  • liyintaoliuyun
  • 2016-06-29 17:48
  • 1318

java日期格式的Object类型转换成String类型的方法

java日期格式的Object类型转换成String类型的方法 import java.text.DateFormat; import java.text.ParseException; imp...
  • chwshuang
  • chwshuang
  • 2015-07-18 17:33
  • 3516

在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)

用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需要小数位后面的毫秒的,这样就需要在转换为String时重新定义格式。   Date、String、Timestamp之间的转...
  • suntao860
  • suntao860
  • 2012-02-28 14:06
  • 1991

Android:Date、String、Long三种日期类型之间的相互转换

date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒 // data Date类型的时...
  • wangyanguiyiyang
  • wangyanguiyiyang
  • 2016-04-01 22:00
  • 22093

Android:Date、String、Long三种日期类型之间的相互转换

date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒 // data Date类型...
  • xiaoqun999
  • xiaoqun999
  • 2017-12-18 17:26
  • 27

记录一下:Date、String、Long三种日期类型之间的相互转换

date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒 // data Date类型...
  • cheweilol
  • cheweilol
  • 2017-06-27 09:53
  • 203

日期在String和Date类型转换

日期在String和Date类型转换;ParsePosition,formatter.parse,java.sql.T... 将String型的“****年**月**日”转换成Date型 ...
  • Mr_Walter
  • Mr_Walter
  • 2012-07-31 17:30
  • 6602
    个人资料
    • 访问:976435次
    • 积分:11983
    • 等级:
    • 排名:第1443名
    • 原创:181篇
    • 转载:4篇
    • 译文:0篇
    • 评论:225条
    这里有你需要的干货!!!
    关注我,获取推送O_o
    你需要的,才是干货@开源项目
    博客专栏
    最新评论