java时间为什么只显示到日_java-为什么此日期未在格林尼治标准时间显示?
我可以看到,格林尼治标准时间是Z常数,以指示它是格林尼治标准时间.但是,当我解析GMT字符串时,它仍在打印本地时间.
码:
SimpleDateFormat outFormat = new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String timeGMT = "2015-05-21T08:42:27.334Z";
try {
System.out.println("Time GMT>>>>>>"+outFormat.parse(timeGMT));
} catch (ParseException e) {
e.printStackTrace();
}
输出:
Thu May 21 08:42:27 IST 2015
预期:
Thu May 21 08:42:27 GMT 2015
解决方法:
这里有两个问题.
首先是您使用错误的格式进行解析.您的格式告诉解析器仅将Z视为没有意义的文字字符.
这意味着它将把它解析为本地日期,因为它不会将Z视为时区标记.如果希望将Z解释为时区,则格式中应包含X而不是“ Z”:
String timeGMT = "2015-05-21T08:42:27.334Z";
DateFormat f1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
DateFormat f2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
Date d1 = f1.parse(timeGMT);
Date d2 = f2.parse(timeGMT);
System.out.println(d1);
System.out.println(d2);
我目前在GMT 3中,这是我从中获得的输出:
Thu May 21 08:42:27 IDT 2015
Thu May 21 11:42:27 IDT 2015
如您所见,d2提前了3个小时,这意味着它按照GMT解释了原始时间.
另一个问题是您以默认格式打印结果日期.默认格式是您当地的时区,因此它将像在我所在的时区一样打印该格式.
要更改此设置,还必须格式化输出:
DateFormat f3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
f3.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(f3.format(d2));
对于前面的示例,这将产生以下内容:
2015-05-21 08:42:27 GMT
标签:jodatime,simpledateformat,java
来源: https://codeday.me/bug/20191120/2042818.html
java时间为什么只显示到日_java-为什么此日期未在格林尼治标准时间显示?相关推荐
- 帆软报表如何实现开始时间-结束时间-时间间隔(时,日、周、月、年)分段显示数据
帆软报表如何实现开始时间-结束时间-时间间隔(时,日.周.月.年)分段显示数据 1.效果展示 时间间隔:全部.时.日.周.月.年 按小时 按日 按周 按月 按年 如果这是你想要的,可以继续查看如何实现 ...
- java 时间是24小时制吗_java时间24小时制
var minute = 1000 * 60 var hour = minute * 60 var day = hour * 24 例子:当前距1970-1-1多少天 java.util.Date d ...
- java显示行号_java开发文本编辑器手记之行号显示
学java编程一段时间了,想利用java swing开发一个桌面的文本编辑器程序,首先想要实现的便是显示行号的功能,由于要实现一些关键词着色功能,选择了JTextPane,其实还有一个JEditorP ...
- Java时间工具类,获取日、周、旬、月、季度、半年、年等时间周期
时间周期工具类,记录在这里方便以后使用,有需要的可以看看. 工具类如下: import java.text.ParseException; import java.text.SimpleDateFor ...
- java ftp 上传文件 进度条_java FTP上传文件(进度条显示进度)
java实现FTP上传有2种方式,一种是org.apache.commons.net.ftp.FTPClient这个jar包,一种是sun.net.ftp.FtpClient.不知道为什么,在使用前一 ...
- java时间往后延后一年_java中时间类(util Date)的后延与前推处理
当后延或者前推的天数在一定时间之内时,可以用以下方法处理 public static Date getValidEndTime(Date date,int validDayCount){ Simpl ...
- java 一年中的第几天_Java计算某个日期是一年中的第几天
比如2020年12月31日,是2020年的第366天.那么如何计算这个第几天呢? 首先当然是小学常识,给定的年份不是平年(一年365天),就是闰年(一年366天),平年1月到12月,每月分别有31, ...
- java怎么把毫秒转换成天数_Java 毫秒转换为日期类型、日期转换为毫秒
//毫秒转换为日期 public static void main(String[] args) { DateFormat formatter = new SimpleDateFormat(" ...
- Java 时间类汇总
Java 7 六个时间类 时间类的介绍与对比 类名称 时间格式 java.util.Date(父类) 年月日时分秒 java.sql.Date(子类) 年月日 java.sql.Time(子类) 时分 ...
- java获取当前时间年月_Java获取时间年、月、日的方法
本文实例讲述了Java获取时间年.月.日的方法.分享给大家供大家参考.具体实现方法如下: package com.date.demo; import java.text.ParseException; ...
最新文章
- Git Merge VS Rebase
- hana-banach定理
- 《大数据》2015年第2期“专题”——我国大数据交易的主要问题及建议
- 让fedora满足你的日常办公和影音
- Xml解析之PULL解析 例2
- 公司内网与外网连通中的一些小问题(达内)
- python深度学习机器学习必备的学习网站集合!
- android微信红包提醒,微信红包提醒怎么设置 微信红包提醒设置教程
- 大数据可视化工具-大屏展示
- liunx下创建达梦数据库实例以及删除实例步骤
- html页面设计扁平化,50个漂亮的扁平化网页设计欣赏
- 戴尔服务器板载系统raid管理,如何在 Dell 系统的统一可扩展固件接口(UEFI)配置中管理您的板载 LSI 3008 RAID 控制器...
- python外汇兑换代码_Python爬取中国银行外汇牌价
- 《现代操作系统》阅读笔记
- Excel如何使用DATE函数
- Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme
- win11如何快速关机 windows11快捷键关机的设置方法
- 2020面试要点大全
- 《算法竞赛入门经典(第2版)》——学习记录
- 解决html页面中文乱码
热门文章
- 安装了vmWare15,打开虚拟机时,电脑总是重启,怎么办?
- 支付宝支付原理以及测试接口获取支付url
- java中linechart用法_Line Chart
- 超难打地鼠 【安卓游戏】
- 中长焦投影仪买哪款好,当贝X3高流明热销你值得看
- 使用selenium爬取艺恩网年度票房(8.16)
- 阿兹尔海默症生物标志物(姑且叫标志物)的一些总结
- jQuery实现表格行的动态增加与删除(改进版)
- 阿里20周年升级价值观:新六脉神剑与它的变革时代
- 我的世界java版骨头指令_我的世界:如何调出“啃骨头”隐藏皮肤?1个没人知道的mc彩蛋...