当前位置: 首页 > Web前端 > JavaScript

Web开发中的时间问题

时间:2023-03-27 15:43:33 JavaScript

选择,就是为了节省时间。Unix时间协调世界时(UTC)是世界上调整时钟和时间的主要时间标准。,不遵守夏令时。Unix时间,即POSIX时间,是UNIX或类UNIX系统使用的时间表示:UTC时间1970年1月1日0:00:00到现在的总秒数,不考虑闰秒,有些系统使用32位整数存储,会有年份2038的问题。unix时间是UTC+0时间的时间戳Y20382038问题是指使用POSIX时间的32位电脑应用,2038年1月19日GMT03:14:07(北京时间:2038年1月19日11点后不工作:14:07AM)Javapublicstaticvoidmain(String[]args){System.out.println("Y2038:"+Instant.ofEpochSecond(2147483647L));System.out.println("Java最大日期:"+Instant.ofEpochMilli(Long.MAX_VALUE));System.out.println("Javamaxdate:"+newDate(Long.MAX_VALUE));}Y2038问题:2038-01-19T03:14:07ZJavaMax时间:+292278994-08-17T07:12:55.807ZJavaMax时间:SunAug1715:12:55CST292278994##时区问题导致不同的JavaNoY2038问题,即使有Date而没有JavaScriptletmaxDateNowValue=8640000000000000;console.log("jsmaxdate:"+newDate(maxDateNowValue).toISOString());//最大值加1毫秒plusOneMS=maxDateNowValue+1;console.log(新日期(plusOneMS).toString());//InvalidDatejsmaxdate:+275760-09-13T00:00:00.000ZInvalidDateJavaScript没有Y2038的问题,但是可以表示的最大时间小于JavaJavaScript最大时间是基于https://stackoverflow.com/that...publicstaticvoidmain(String[]args){Instantnow=Instant.now();中的波形System.out.println("Z:"+now.atZone(ZoneId.of("Z")));System.out.println("UTC+0:"+now.atZone(ZoneId.of("UTC+0")));System.out.println("UTC+8:"+now.atZone(ZoneId.of("UTC+8")));System.out.println("GMT:"+now.atZone(ZoneId.of("GMT")));System.out.println("GMT+8:"+now.atZone(ZoneId.of("GMT+8")));System.out.println("亚洲/上海:"+now.atZone(ZoneId.of("亚洲/上海")));18T08:35:46.326Z[UTC]UTC+8:2022-06-18T16:35:46.326+08:00[UTC+08:00]GMT:2022-06-18T08:35:46.326Z[GMT]GMT+8:2022-06-18T16:35:46.326+08:00[GMT+08:00]亚洲/上海:2022-06-18T16:35:46.326+08:00[亚洲/上海]旧它是同一时间的不同格式,T用于分隔日期和事件,Z和+08:00都表示基于标准时间的偏移量,Z=UTC+0\+08:00=UTC+08:00,[UTC+08:00]表示使用的标准和偏移量协调世界时(UTC)是最接近格林威治标准时间(GMT)的几种替代时间系统之一对于大多数用途,使用UTC时间它被认为可以与GMT互换时间,但GMT时间不再由科学界确定??。在实际使用中,GMT也可以与偏移量一起使用。可以这样理解,UTC和UTC一样,相当于按经度划分的时区,Asia/Shanghai按行政区域划分时区。时区问题的本质是不同的服务运行在不同时区的服务器上。相互传输时间数据时,时区处理不正确。可能是发送数据的时候,也可能是接收数据的时候,或者两者都有。对于下面的数据,不同时区的服务会考虑本地时区的时间,无法知道原始数据的时区:{"message":"helloworld","createTime":"2022-06-0112:00:00"}在时间表达式中加入时区信息可以避免这样的误解{"message":"helloworld","createTime":"2022-06-01T12:00:00Z"}为更多时区问题,请移步:WebDevelopmenttimezoneissues