`

GMT时间格式转换

阅读更多

普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小的帮助啦。

1、可以使用

SimpleDateFormat SimpleDateFormat   

EEE-三位星期

d-天

MMM-月

yyyy-四位年

HH-24小时制消息

mm-分钟

ss-秒

‘GMT’-GMT字符串,别忘了加上单引号

通过该掩码,能完美的构造出HTTP头所需的日期格式。

2、文件修改时间是本地时间,如果要对文件时间进行换算,换成GMT时间,则要加上时区的设置,

sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

代码

  1. String sFile = "c:\\test.jpg";  
  2. File file = new File(sFile);  
  3.   
  4. if(file.exists()){  
  5.     long lm = file.lastModified();   
  6.     Calendar cd = Calendar.getInstance();  
  7.     cd.setTimeInMillis(lm);                  
  8.     SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss 'GMT'", Locale.US);  
  9.     sdf.setTimeZone(TimeZone.getTimeZone("GMT"));  
  10.     String timeStr = sdf.format(cd.getTime());  
  11.     String timeStr = sdf.format(cd.getTime());  
  12.     log.debug("lastModify=" + timeStr);      
  13.  }

3、设置Locale.US, 是因为根据机器的本地化设置,输出的是中文,这里只想输出英文, SimpleDateFormat构造函数如下:

SimpleDateFormat(String pattern, Locale locale)

输出结果:

lastModify=Thu, 15 Sep 2011 12:13:41 GMT 

 首先先来了解一下GMT的时间格式:

    Mon Feb 13 08:00:00 GMT+08:00 2012 可能还会有其他的格式类似 Sun Sep 02 2012 08:00:00 GMT+08:00 只是顺序改变而已。

    那么我们如何将这种格式转换成普通date格式呢,方法如下:

    第一种实现方法:

    [html]

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    import java.util.Locale;

    /**

    *

    * @author yaohucaizi

    */

    public class DateFormat {

    public static void main(String[] args) throws ParseException {

    String s = "Mon Feb 13 08:00:00 GMT+08:00 2012";

    //     String s = "Sun Sep 02 2012 08:00:00 GMT+08:00";

    SimpleDateFormat sf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);

    //     SimpleDateFormat sf = new SimpleDateFormat("EEE MMM dd yyyy hh:mm:ss z", Locale.ENGLISH);

    Date date = sf.parse(s);

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    String result = sdf.format(date);

    System.out.println(result);

    }

    }

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    import java.util.Locale;

    /**

    *

    * @author yaohucaizi

    */

    public class DateFormat {

    public static void main(String[] args) throws ParseException {

    String s = "Mon Feb 13 08:00:00 GMT+08:00 2012";

    //     String s = "Sun Sep 02 2012 08:00:00 GMT+08:00";

    SimpleDateFormat sf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);

    //     SimpleDateFormat sf = new SimpleDateFormat("EEE MMM dd yyyy hh:mm:ss z", Locale.ENGLISH);

    Date date = sf.parse(s);

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    String result = sdf.format(date);

    System.out.println(result);

    }

    }

    第二种方法:

    首先将GMT日期转换成long型毫秒数然后再进一步的转换,看代码:

    [html]

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    import java.util.Locale;

    /**

    *

    * @author yaohucaizi

    */

    public class DateFormat {

    public static final String SOURCE = "Wed Feb 13 08:00:00 +0800 2012";

    public static void main(String[] args) throws ParseException {

    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", new Locale("ENGLISH", "CHINA"));

    Date myDate = sdf.parse(SOURCE);

    System.out.println(myDate);

    sdf.applyPattern("EEE MMM dd HH:mm:ss Z yyyy");

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

    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", new Locale("CHINESE", "CHINA"));

    System.out.println(sdf2.format(myDate));

    sdf2.applyPattern("yyyy年MM月dd日 HH时mm分ss秒");

    System.out.println(sdf2.format(myDate));

    long miliSeconds = myDate.getTime();

    System.out.println("自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象经过的毫秒数为:" + miliSeconds + "毫秒");

    }

    }

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    import java.util.Locale;

    /**

    *

    * @author yaohucaizi

    */

    public class DateFormat {

    public static final String SOURCE = "Wed Feb 13 08:00:00 +0800 2012";

    public static void main(String[] args) throws ParseException {

    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", new Locale("ENGLISH", "CHINA"));

    Date myDate = sdf.parse(SOURCE);

    System.out.println(myDate);

    sdf.applyPattern("EEE MMM dd HH:mm:ss Z yyyy");

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

    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", new Locale("CHINESE", "CHINA"));

    System.out.println(sdf2.format(myDate));

    sdf2.applyPattern("yyyy年MM月dd日 HH时mm分ss秒");

    System.out.println(sdf2.format(myDate));

    long miliSeconds = myDate.getTime();

    System.out.println("自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象经过的毫秒数为:" + miliSeconds + "毫秒");

    }

    }

    输出结果为:

    [html]

    Mon Feb 13 08:00:00 GMT+08:00 2012

    Mon Feb 13 08:00:00 +0800 2012

    2012-02-13 08:00:00

    2012年02月13日 08时00分00秒

    自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象经过的毫秒数为:1329091200000毫秒

    Mon Feb 13 08:00:00 GMT+08:00 2012

    Mon Feb 13 08:00:00 +0800 2012

    2012-02-13 08:00:00

    2012年02月13日 08时00分00秒

    自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象经过的毫秒数为:1329091200000毫秒

    GMT(Greenwich Mean Time)是格林尼治平时:

    由于地球轨道并非圆形,其运行速度又随着地球与太阳的距离改变而出现变化,因此视太阳时欠缺均匀性。视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。为着要纠正上述的不均匀性,天文学家计算地球非圆形轨迹与极轴倾斜对视太阳时的效应。平太阳时就是指经修订后的视太阳时。在格林尼治子午线上的平太阳时称为世界时(UTC),又叫格林尼治平时(GMT)。

分享到:
评论

相关推荐

    GMT时间格式转换(GMT) .doc

    第二种实现方法是将 GMT 日期转换成 long 型毫秒数,然后再进一步的转换成普通的 Date 时间格式。首先,使用 SimpleDateFormat 解析 GMT 时间格式字符串,获取 Date 对象。然后,使用 getTime 方法获取 Date 对象的...

    GMT格式与普通时间格式转换工具类,可直接使用;附带普通时间类型字符串和时间互相转换的可直接使用的接口

    1. **GMT到普通时间的转换**:工具类可能包含一个静态方法如`gmtToLocal(String gmtTime, String format)`,接受一个表示GMT时间的字符串和一个日期时间格式,返回转换后的本地时间字符串。 2. **普通时间到GMT的...

    c#日期格式转换c#日期格式转换

    根据提供的标题、描述、标签及部分内容,我们可以了解到本篇文章主要关注的是C#中的日期格式转换。下面将基于这些信息详细阐述C#日期格式转换的相关知识点。 ### C# 日期格式转换概述 在C#编程中,对日期进行格式...

    标准时间转换器

    2. 输出:程序将时间戳转换为人类可读的日期和时间格式,如“年-月-日 时:分:秒”,同时提供时区信息,以便用户了解转换后的时间是在哪个时区。 3. 选项:可能包含不同的时间格式化选项,以及转换为其他时间标准(如...

    e语言-将指定的时间转换成需要的格式

    在这个场景中,我们需要了解如何在易语言中处理时间并将其转换成特定的格式。 首先,我们要明白时间在计算机中的表示方式。通常,时间是以Unix时间戳的形式存储的,即自1970年1月1日(UTC/GMT的午夜)以来的秒数。...

    【Delphi】GMT时间与TDateTime转换.mht

    【Delphi】GMT时间与TDateTime转换.mht

    格林威治时间转化北京时间以及时间转换格式代码大全

    本文将深入探讨如何在Android平台上进行格林威治时间(GMT)与北京时间的转换,以及各种时间格式的转换方法。我们将主要参考提供的两个Java源文件:`DateUtil.java`和`GTMDateUtil.java`,并结合一个名为`格林威治...

    UTC2GMT V1.0(UTC和GMT时间互转)

    总结起来,UTC2GMT V1.0是针对UTC和GMT时间转换需求而设计的实用工具,尤其适用于需要处理跨时区时间信息的IT专业人士。理解UTC和GMT的差异及其在不同场景中的应用,将有助于我们在全球化的信息技术环境中更好地工作...

    时间戳 日期时间的转换

    1. **时间戳转日期时间**:从一个时间戳值转换为人类可读的日期时间格式。在Python中,我们可以使用`datetime`模块来完成这个操作。例如: ```python import datetime timestamp = 1684693200 # 假设这是当前的...

    GMT时间转成本地时间

    本文将深入探讨如何在C#编程语言中实现GMT时间到本地时间的转换,这不仅包括代码的具体实现,还涵盖了背后的原理与应用场景。 ### 一、基础知识:理解GMT与本地时间 #### 1.1 GMT(格林尼治标准时间) GMT,即...

    转换北京时间GMT+8到任意时区的时间(含源码)

    转换北京时间GMT+8成任意时区的时间。工具支持美国夏令时(源码里没有这部分,很久时间前写的实在是没有找到)。

    C#日期格式转换 (2).pdf

    日期格式转换是其中的关键部分,它允许我们根据需求以不同的格式展示日期和时间信息。`DateTime.ToString` 方法是实现这一目标的主要工具。 `DateTime.ToString` 方法接受两个参数:一个字符串格式化模式和一个`...

    Timstamp时间戳转日期时间双向转换工具-下载

    标题提到的"Timstamp时间戳转日期时间双向转换工具"是一个实用的软件工具,它可以帮助用户将时间戳转换为易读的日期和时间格式,反之亦然。这对于开发者来说尤其有用,因为他们经常需要在处理时间数据时进行这种转换...

    懒人原生format方法格式化Date时间日期

    本文将深入探讨`format`方法以及如何使用它来格式化`Date`时间日期。 首先,`java.util.Date`是Java中的一个基础类,它表示了从1970年1月1日00:00:00 GMT到当前时间的毫秒数。然而,直接打印`Date`对象通常并不直观...

    时间转换、IP转换工具

    此功能可以方便地将服务器返回的时间戳数据转换为易于理解的日期和时间格式。 2. **北京时间转成时间戳**: 反向操作,将用户输入的北京时间转换为时间戳。这个过程通常涉及将日期和时间转换为统一的格林威治标准...

    时间、IP转换工具

    时间转换工具有助于在这些时间格式之间进行转换,例如,从用户输入的本地时间转换为UTC,或将UTC时间戳转换为可读的日期和时间。此外,工具可能还会提供时区转换功能,以便用户了解不同地区的时间。 其次,我们讨论...

    文件大小和最后修改日期的转换

    为了使时间更加易于阅读,通常需要将时间戳转换为具体的日期格式。这可以通过`java.util.Date`类和`java.text.SimpleDateFormat`类实现。 - 首先创建一个`Date`对象,并将之前获取的时间戳赋值给它: ```java Date...

    Springboot DTO字符字段与日期字段的转换问题.docx

    在这种情况下,Spring Boot默认并不会自动将前端传来的字符串日期转换为Date对象,反之亦然。这是因为JSON标准并没有定义日期的特定格式,所以需要我们手动处理这种转换。 在上述例子中,`UserDTO`类有一个`...

    UTC时间转换算法

    从RTC时间转换为UTC时间,首先需要读取RTC硬件时钟的值,这个值通常是以格林尼治标准时间(GMT)表示的。然后,同样需要考虑时区和夏令时的影响,减去相应的小时数。由于RTC时间通常包含时区信息,转换过程相对简单...

Global site tag (gtag.js) - Google Analytics