• 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对象

     

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

  • 相关阅读:
    git 提交解决冲突(转载)
    impala系列: 时间函数
    impala系列: 字符串函数
    Impala系列: Impala常用的功能函数
    impala系列:impala特有的操作符
    impala系列: 同步Hive元数据和收集统计信息
    ETL脚本的版本管理方法和 SourceTree 使用
    几本不错的数据仓库和Hadoop书籍
    Kudu系列-基础
    sql parser
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4883563.html
Copyright © 2020-2023  润新知