GMT时间格式转换

GMT时间格式转换普通的时间转换问题我这里就不再罗嗦了 我想大家应该都会那种低级的转换问题吧 现在我向大家总结一下如何转换 GMT 时间格式 这种格式的转换方法网上还不是很多 所以有必要总结一下 也算给有需要的朋友一个小小的帮助啦 1 可以使用 SimpleDateFo nbsp nbsp nbsp EEE 三位星期 d 天 MMM 月 yyyy 四位年 HH 24 小时制消息 mm

普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换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 对象经过的毫秒数为:00毫秒

    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 对象经过的毫秒数为:00毫秒

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211276.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午10:48
下一篇 2026年3月18日 下午10:48


相关推荐

  • 逛数学研发论坛 – Powered by Discuz! http://bbs.emath.ac.cn/forum.php发现的小游戏,宽容和信任

    逛数学研发论坛 – Powered by Discuz! http://bbs.emath.ac.cn/forum.php发现的小游戏,宽容和信任信任的进化https://www.sekai.co/trust/

    2026年2月2日
    5
  • 数据仓库ods层是啥意思_ODS层简介和ODS层设计

    数据仓库ods层是啥意思_ODS层简介和ODS层设计1 引言本篇主要讲述操作数据存储 ODS 系统产生的背景 定义 特点 以及它与数据仓库的区别 在前两篇 笔者介绍了什么是数据仓库 为什么需要数据仓库 数据仓库系统的体系结构是什么 因此可能在读者心里已经形成了企业数据存储的 DB DW 两层体系结构的概念 但在实际应用中 并不总是这样 有时候我们可能需要 ODS 这一系统来搭建 DB ODS DW 三层数据体系 那么什么是 ODS 为什么需要 ODS ODS 与 D

    2026年3月19日
    3
  • Conda 替换镜像源方法尽头,再也不用到处搜镜像源地址[通俗易懂]

    Conda 替换镜像源方法尽头,再也不用到处搜镜像源地址[通俗易懂]文章目录conda替换镜像源教程1镜像源添加方法2如何找到你要用的源conda替换镜像源教程由于国内访问conda官网很慢,离线安装又费时费力,因此,替换国内源是一个极佳的办法。但是,目前国内源的替换教程过于老旧,都是2018-2021年的方法,尽管替换镜像源的方法不变,但是网上的资料中,很多镜像源都失效了,没有一个教程能够告诉大家如何去找自己的镜像源并添加进去。本教程出于此目的,保证大家以后添加的镜像源实效性强。(时间2022.3.10)1镜像源添加方法首先是一些常用命令,帮你诊断目前你的co

    2026年4月19日
    9
  • Web前端CSS颜色代码大全

    Web前端CSS颜色代码大全CSS 颜色代码大全 nbsp nbsp nbsp nbsp FFFFFF DDDDDD AAAAAA 000000 FFB7DD FF88C2 FF44AA nbsp

    2026年3月16日
    2
  • 求图的连通分量

    求图的连通分量题目 输出无向连通图各个连通分量 输入描述 输入文件中包含多个测试数据 每个测试数据的格式为 第 1 行为两个整数 n 和 m 分别表示顶点个数和边数 然后有 m 行 每行表示一条边 为这条边的两个顶点的序号 顶点序号从 1 开始计起 假定无向图是连通的 可能存在割点 也可能没有割点 n m 0 时表示输入结束 输出描述 对每个测试数据 以 uv 的形式依次输出各连通分量中的每条边 每

    2025年7月30日
    4
  • 命名实体识别(NER)综述

    命名实体识别(NER)综述本文是中文信息处理课程的期末考核大作业摘要命名实体识别是自然语言处理中的热点研究方向之一 目的是识别文本中的命名实体并将其归纳到相应的实体类型中 首先阐述了命名实体识别任务的定义 目标和意义 然后介绍了命名实体识别研究的发展进程 从最初的规则和字典方法到传统的统计学习方法再到现在的深度学习方法 不断地将新技术应用到命名实体识别研究中以提高性能 最后针对评判命名实体识别模型的好坏 总结了常用的若干数据集和常用工具 并给出了未来的研究建议 1 引言 命名实体识别这个术语首次出现在 MUC 6

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号