Java日期的格式String类型GMT,GST换算成日期Date种类
请尊重他人的劳动成果。转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型
http://blog.csdn.net/fengyuzhengfan/article/details/40164721
在实际开发过程中常常会须要将Date类型的数据封装成XML或Json格式在网络上进行传输,另外在将Date类型的数据存到Sqlite数据库中后再取出来的时候仅仅能获取String类型的日期了,这是由于SQLite是无类型的。这样不得不面对将String
类型的日期转换成Date类型的问题。以下就介绍一下怎样将String类型的GMT、GST日期转换成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 |
Number |
0 |
|
h |
am/pm |
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类型的GMT、GST日期转换成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类型的GMT或GST日期的时候须要将第二个參数指定为Locale.US或Locale.UK或Locale.ENGLISH否则会出现编译错误。
关于第一个參数日期模式是要依据要解析的String类型日期格式不同而不同,当中EEE代表星期。MMM代表月份。dd代表天。HH代表小时。mm代表分钟,ss代表秒。这里要特别注意的是’GMT’。它代表你要解析的String是GMT格式的时间,假设GST格式能够使用’
GST’来取代’GMT’。
执行效果图
版权声明:本文博主原创文章,博客,未经同意不得转载。
Java日期的格式String类型GMT,GST换算成日期Date种类的更多相关文章
- java内存分配和String类型的深度解析
[尊重原创文章出自:http://my.oschina.net/xiaohui249/blog/170013] 摘要 从整体上介绍java内存的概念.构成以及分配机制,在此基础上深度解析java中的S ...
- 【转】java内存分配和String类型的深度解析
一.引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题.下面是本 ...
- JAVA中int与String类型的相互转换
Java的int和String类型间互相转换,小功能但是经常用到,下面是几种实现的方法: 字符串类型String转换成整数int 1. int i = Integer.parseInt([String ...
- Java 中要将 String 类型转化为 int 类型
在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换. 例1: 1 2 3 4 5 6 S ...
- erlang处理mongodb日期时间格式data类型(原)
在项目中,mongo中要创建日期类型,根据这个日期类型进而对mongo设置过期时间expire,加上对应的index索引自动删除. 而mongo中的日期类型,使用ISO格式,例如:ISODate(&q ...
- java对象转化成String类型
在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object#toString(),(String)要转换的对象,St ...
- 【原创】Java和C#下String类型中的==和equals的原理与区别
一.Java下 1.几个例子 public static void main(String[] arge) { String str1 = new String("1234"); ...
- JAVA中int转String类型有三种方法
String.valueOf(i) Integer.toString(i) i+"" i+""也就是一个int型的常量.+上个空的字符串,这里牵涉到了strin ...
- 【Java】 int与String类型间的相互转化
public class Test { public static void main(String[] args) { /* * int类型转String类型 */ int n1 = 9; //1. ...
随机推荐
- Java NIO框架Netty课程(一) – Hello Netty
首先啰嗦2,假如你不知道Netty怎么办怎么办.它可以是一个简单的搜索,找出.我只能说Netty是NIO该框架,它可用于开发分布式Java计划.详细情况可以做,我们可以尝试用你的想象力. 技术,它是服 ...
- POJ 2155 D区段树
POJ 2155 D区段树 思考:D区段树是每个节点设置一个段树树. 刚開始由于题目是求A[I,J],然后在y查询那直接ans^=Map[i][j]的时候没看懂.后面自己把图画出来了才理解. 由于仅 ...
- 集合hashCode()方法和equals()办法
1.哈希码: Object中的HashCode方法会返回该对象的的内存真实地址的整数化表示,这个形象的不是真正抵制的整数值就是哈希码. 2.利用哈希码向集合中插入数据的顺序? ...
- 【Cocos2d-x】Mac 在 Cocos2d-x 3.X 打包Android
今天cocos2d-x 3.0正式版最终公布了,下午特地下载了来尝尝鲜,废话不多说了. 3.0正式版的环境搭建和之前的RC版事实上是一样的,太多的教程也写了怎样搭建.今天来写写我自己是怎样来搭建的. ...
- Tomcat通过配置一个虚拟路径管理web工程
关于虚拟路径.学问javaweb训练课程,如今,鉴于这种情况下老师. 当我们的项目,当在不同的文件夹项目.我们如何使用tomcat去管理web工程. 教师提出的解决方案是 使用虚拟路径方式,并按照实施 ...
- hdu 5106 Bits Problem(数位dp)
题目链接:hdu 5106 Bits Problem 题目大意:给定n和r,要求算出[0,r)之间全部n-onebit数的和. 解题思路:数位dp,一个ct表示个数,dp表示和,然后就剩下普通的数位d ...
- 采用CSS3 Media Query技术适应Android平板屏幕分辨率和屏幕像素密度
采用HTML5在开发移动应用程序满足各种需求Android分辨率和屏幕的平板设备密度,这是非常麻烦的过程,最终的解决方案是使用css media query,匹配相同的时间分辨率和屏幕像素密度.上进行 ...
- error C2871: 'std' : does not exist or is not a namespace
#include <iostream.h> using namespace std; 然后编译时出现 error C2871: 'std' : does not exist or is n ...
- OSChina 的URL类的源代码重写过程
此代码是 oschina 到手柄形状像 http://www.oschina.net/p/tomcat 这种URL 此类已经废弃,改用 http://www.oschina.net/code/snip ...
- UVA10375 Choose and divide 质因数分解
质因数分解: Choose and divide Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %l ...