Java时间转换笔记

编程入门 行业动态 更新时间:2024-10-04 19:25:52

Java<a href=https://www.elefans.com/category/jswz/34/1771441.html style=时间转换笔记"/>

Java时间转换笔记

代码

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;public class Time {public static void main(String[] args) {String time1 = "2021-04-19T09:39:21";String time3 = "2021-04-19 09:39:21";String time4 = "2021-04-19 09:39:21Z";String time5 = "2021-04-20T01:39:40";// 1.T只表示日期之后,时间的开始// 2.日期最后的Z表示0时区,即UTC-0,变成中国标准时间CST要+8// 3.UTC-8=GMT-8=CSTSimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");SimpleDateFormat dateFormat3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");dateFormat3.setTimeZone(TimeZone.getTimeZone("Etc/GMT-8"));SimpleDateFormat dateFormat4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss'Z'");dateFormat4.setTimeZone(TimeZone.getTimeZone("UTC"));  // 配置模板的时区,也是pasre函数中的源时区。SimpleDateFormat dateFormat5 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");dateFormat5.setTimeZone(TimeZone.getTimeZone("GMT+8"));  // 配置模板的时区,也是pasre函数中的源时区。try{Date date1 = dateFormat.parse(time1);System.out.println("date1:"+date1);System.out.println("tz1 默认时区:"+dateFormat.getTimeZone().toZoneId());Date date2 = new Date(); // 获取当前时区的时间System.out.println("date2:"+date2);System.out.println("tz2 默认时区:"+dateFormat.getTimeZone().toZoneId());Date date3 = dateFormat3.parse(time3);System.out.println("date3:"+date3);System.out.println("tz3:"+dateFormat3.getTimeZone().toZoneId());Date date4 = dateFormat4.parse(time4);  // 将模板源时区为基准,转换成当前指定时区(TimeZone)的时间。System.out.println("date4:"+date4);System.out.println("tz4:"+dateFormat4.getTimeZone().toZoneId());Date date5 = dateFormat5.parse(time5); // Date与时区无关,只保存了一个时间戳,打印出来不一样,是因为toString函数取了不同时区System.out.println("date5:"+date5);System.out.println("tz5:"+dateFormat5.getTimeZone().toZoneId());System.out.println("timestamp 5:"+date5.getTime()/1000); // Date.getTime()会将时间所在的时区转换成UTC(GMT)时区,然后再变为时间戳}catch (ParseException pe){pe.printStackTrace();}}
}/*** 1.简单介绍:* 1.1 UTC(协调世界时)又称世界统一时间、世界标准时间、国际协调时间。** 1.2 GMT(格林尼治标准时间)一般指世界时** 1.3 CST(中央标准时间)可视为美国、澳大利亚、古巴或中国的标准时间。**** 2.CST可以为如下4个不同的时区的缩写:** 美国中部时间:Central Standard Time (USA) UT-6:00** 澳大利亚中部时间:Central Standard Time (Australia) UT+9:30** 中国标准时间:China Standard Time UT+8:00** 古巴标准时间:Cuba Standard Time UT-4:00*** 3.Date:** 尽管 Date 类打算反映协调世界时 (UTC),但无法做到如此准确,这取决于 Java 虚拟机的主机环境。** 一些计算机标准是按照格林威治标准时 (GMT) 定义的,格林威治标准时和世界时 (UT) 是相等的。** UTC 和 UT 的区别是:UTC 是基于原子时钟的,UT 是基于天体观察的,两者在实际应用中难分轩轾。**** 闰秒是根据需要引入 UTC 的,以便把 UTC 保持在 UT1 的 0.9 秒之内,UT1 是应用了某些更正的 UT 版本。**** 4.SimpleDateFormat 默认本地时区* parse() 字符串->日期对象* format() 日期对象->字符串** 5.Date 默认本地时区* getTime() 日期对象->时间戳* setTime() 时间戳->可获得日期对象*/

Linux相关命令

  • 查看时区
# date -R
  • 修改时区
拷贝/usr/share/zoneinfo/Asia/Shanghai到/etc/localtime

链接

全面解析Java日期时间API

更多推荐

Java时间转换笔记

本文发布于:2024-02-13 17:26:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759547.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:时间   笔记   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!