当前位置: 首页 > news >正文

Java日期的格式String类型GMT,GST换算成日期Date种类

请尊重他人的劳动成果。转载请注明出处: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对象

 

版权声明:本文博主原创文章,博客,未经同意不得转载。

相关文章:

  • 寸土必争——光复驱动缓存侵占的空间
  • PXE装机
  • 轻松搞定RabbitMQ(四)——发布/订阅
  • 操作系统学习(一)--概述启动过程
  • StatusBar、ActionBar tips
  • String类:String类的简介和字符串常用接口
  • freemarker遇见的BUG1
  • 棋盘覆盖问题
  • Theano - 导数
  • Windows系统查看并清理缓存
  • 数据结构
  • 本地运行Tachyon(译)
  • springboot(十四):springboot整合shiro-登录认证和权限管理
  • 是反反复复
  • 使用Keil MDK以及标准外设库创建STM32工程
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • angular2开源库收集
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • canvas绘制圆角头像
  • Codepen 每日精选(2018-3-25)
  • ECMAScript入门(七)--Module语法
  • express + mock 让前后台并行开发
  • Linux后台研发超实用命令总结
  • mysql常用命令汇总
  • nodejs:开发并发布一个nodejs包
  • PAT A1092
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Vue--数据传输
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • WebSocket使用
  • 安卓应用性能调试和优化经验分享
  • 聊聊hikari连接池的leakDetectionThreshold
  • 如何编写一个可升级的智能合约
  • 三栏布局总结
  • 移动端解决方案学习记录
  • 译有关态射的一切
  • 由插件封装引出的一丢丢思考
  • 做一名精致的JavaScripter 01:JavaScript简介
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • #ifdef 的技巧用法
  • #pragma once
  • $.proxy和$.extend
  • (arch)linux 转换文件编码格式
  • (C++20) consteval立即函数
  • (二)丶RabbitMQ的六大核心
  • (论文阅读30/100)Convolutional Pose Machines
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • ... 是什么 ?... 有什么用处?
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET框架
  • @Repository 注解
  • [ C++ ] STL---stack与queue