java UTC时间格式化
Posted Nihaorz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java UTC时间格式化相关的知识,希望对你有一定的参考价值。
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; /** * @author 王睿 * @date 2019-01-24 14:32 */ public class TimeFormat { public static void main(String[] args) throws ParseException { String text = "2019-01-03T08:26:15.503162206Z"; text = "2019-01-03T08:26:15Z"; Date date = parseUTCText(text); System.out.println(date); } /** * @param text 时间字符串,格式支持两种 * 1、不包含毫秒值,如"2019-01-03T08:26:15Z"; * 2、支持任意位数的毫秒值:2019-01-03T08:26:15.503162206Z; * 转换出来的Date类型精度知道毫秒位 * @return * @throws ParseException */ public static Date parseUTCText(String text) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd‘T‘HH:mm:ss.SSS‘Z‘"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); if (text.indexOf(".") > -1) { String prefix = text.substring(0, text.indexOf(".")); String suffix = text.substring(text.indexOf(".")); if (suffix.length() >= 5) { suffix = suffix.substring(0, 4) + "Z"; } else { int len = 5 - suffix.length(); String temp = ""; temp += suffix.substring(0, suffix.length() - 1); for (int i = 0; i < len; i++) { temp += "0"; } suffix = temp + "Z"; } text = prefix + suffix; } else { text = text.substring(0, text.length() - 1) + ".000Z"; } Date date = sdf.parse(text); return date; } }
以上是关于java UTC时间格式化的主要内容,如果未能解决你的问题,请参考以下文章
在java里面,如何得到UTC时间, 时间格式为:Tue Oct 12 00:00:00 UTC 0800 2010