GMT & 时间日期格式

    xiaoxiao2023-03-25  3

    摘要: GMT & 时间日期格式

    GMT & 时间日期格式

    GMT:格林尼标准时间

    北京时间=GMT时间+8小时

    格林尼治平均时(GMT, Greenwich Mean Time) 

    格林威治是英国伦敦泰晤士河南岸的一个地方,由于从19世纪开始,因为世界各国来往频繁,而欧洲大陆、美洲大陆和亚洲大陆都有各自的时区,所以为免混乱,各国的代表就在1884 年在美国华盛顿召开了国际大会,通过协议选出伦敦的格林威治,作为全球时间的中心点,格林威治标准时间因而诞生。所以有GMT功能的腕表就是说腕表拥有其中的小时表盘可以显示GMT时间。

    GMT时间就是英国格林威治时间,也就是世界标准时间,是本初子午线上的地方时,是0时区的区时,与我国的标准时间北京时间(东八区)相差8小时,即晚8小时。

    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类型的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’。

    ==========END==========

    原文地址: http://blog.csdn.net/fengyuzhengfan/article/details/40164721
    转载请注明原文地址: https://ju.6miu.com/read-1203986.html
    最新回复(0)