首页
学习
活动
专区
圈层
工具
发布

Java的日期类的时间从为什么是从1970年1月1日开始?

是说java起源于UNIX系统,而UNIX认为1970年1月1日0点是时间纪元。...另外1年365天的总秒数是31536000秒, 2147483647/31536000 = 68.1年 也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07秒,便会到达最大时间...,过了这个时间点,所有32位操作系统时间便会变为: 10000000 00000000 00000000 00000000 也就是1901年12月13日20时45分52秒,这样便会出现时间回归的现象,很多软件便会运行异常了...位来表示时间的最大间隔是68年,而最早出现的UNIX操作系统考虑到计算机产生的年代和应用的时限综合取了1970年1月1日作为UNIX TIME的纪元时间(开始时间),而java自然也遵循了这一约束。...至于时间回归的现象相信随着64为操作系统的产生逐渐得到解决,因为用64位操作系统可以表示到292,277,026,596年12月4日15时30分08秒,相信我们的N代子孙,哪怕地球毁灭那天都不用愁不够用了

5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java中的日期类

    在最初的版本下,java.lang包中的System.currentTimeMillis();可以获取当前时间与协调时间(UTC)1970年1月1日午夜之间的时间差(以毫秒为单位测量)。...str="2021年1月15日 06小时44分钟05秒 123毫秒"; Date date = sdf.parse(str); System.out.println("...类:代表一个包含年、月、日、小时、分钟、秒的日期对象,如2007-12-03T10:15:30。...在UNIX中这个数从1970年开始,以秒为单位;同样在Java中也是从1970年开始的,但以毫秒为单位。 java.time包通过值类型Instant提供机器视图,不提供人类意义上的时间单位。...Instant类表示时间线商的一点,不需要要任何上下文信息。例如,时区。从概念上讲,它只是简单地表示自1970年1月1日0时0分0秒(UTC)开始地秒数。

    4.3K20

    【Java 进阶篇】JavaScript 日期和时间详解

    日期通常包括年、月、日,而时间通常包括小时、分钟、秒以及毫秒。这些信息可以用来记录事件发生的时间、计算时间间隔、显示日期和时间等。...你可以通过访问currentDate的不同属性来获取特定的日期和时间信息,比如年、月、日、小时、分钟、秒等。 2. 使用日期字符串 你还可以通过传递一个日期字符串作为参数来创建一个Date对象。...时间戳是指从标准时间(通常是1970年1月1日午夜,也称为UNIX纪元)起经过的毫秒数。你可以使用时间戳来创建Date对象。...对象,表示2023年9月20日。...设置月份(从0开始,0表示一月) currentDate.setMonth(6); // 6表示7月 console.log("设置后的日期:" + currentDate); 设置日期(一个月中的哪一天

    64910

    Moment.js常见用法

    .endOf('month')获取当前月的总天数moment().daysInMonth() 获取时间戳(以秒为单位)moment().format('X') // 返回值为字符串类型moment()....到31d星期中的第几天,数字表示0到6,0表示周日,6表示周六ddd三个字母表示星期中的第几天Sun到Satdddd星期几,完整的星期文本从Sunday到Saturdayw年份中的第几周如42:表示第42...01到59XUnix时间戳1411572969格式化年月日: 'xxxx年xx月xx日'moment().format('YYYY年MM月DD日')格式化年月日: 'xxxx-xx-xx'moment(.../pm'moment().format('hh:mm:ss a')格式化时间戳(以毫秒为单位)moment().format('x') // 返回值为字符串类型4.4 比较时间获取两个日期之间的时间差let...('LL'); // 2019年5月24日moment().format('ll'); // 2019年5月24日moment().format('LLL'); // 2019年5月24日晚上

    76100

    提升日期处理效率:day.js 实战经验分享

    注意:月份从0开始,0表示1月,1表示2月... dayjs().month() // 设置月份 dayjs().month(10) // 设置完月份后格式化 dayjs().month(10).format...第二个参数支持的单位如下: 单位 缩写 详情 day d 日 week w 周 month M 月 year y 年 hour h 小时 minute m 分钟 second s 秒 millisecond...比如今天是2023年5月24日,加了10天就是2023年6月3日。 获取当前时间的半小时后的时间。...2023年5月21号是星期1 获取结束日期时间 有获取开始日期时间就有获取结束日期时间。 day.js 提供了 endOf() 方法获取结束日期时间。 比如要获取当前日期的 23:59:59。...dayjs().endOf('day').format() endOf() 通常会和 startOf() 结合使用,这样就可以获取一个比较完整的时间段。 比如要获取 2020年2月的开始和结束日期。

    2.5K30

    Java Review (二十一、基础类库----日期、时间类)

    Java 原本提供了 Date 和 Calendar 用于处理日期、时间的类,包括创建日期 、 时间对象,获取系统当前日期、时间等操作 。...但 Date 不仅无法实现国际化 ,而且它对不同属性也使用了前后矛盾的偏移量 ,比如月份与小时都是从 0 开始的,月份中的天数则是从 1 开始的,年又是从 1900 开始的,而java.util.Calendar...该构造器的参数表示创建的 Date对象和 GMT 1970 年 1 月 1 日 00:00:00 之间的时间差 ,以毫秒作为计时单位 。...)); // 分别设置年、月、日、小时、分钟、秒 c.set(2003 , 10 , 23 , 12, 32, 23); //2003-11-23 12:32:23 System.out.println...Duration: 该类代表持续时间 。 该类可 以非常方便地获取一段时间 。 Instant: 代表一个具体的时刻,可以精确到纳秒 。

    96330

    需要知道的JS的日期知识,都在这了

    在世界的不同地方以不同的方式解释日期字符串。 例如11-06-2019是2019年6月11日还是 2019年11月6日。你不能确定我指的是哪一个,除非你知道我正在使用的日期系统。...(0到31) -:日期分隔符 T:表示开始时间 HH:24位小时数(0到23) mm:分钟(0到59) ss:秒(0到59) sss:毫秒(0到999) ::时间分隔符 Z:如果存在Z,...其中小时,分钟,秒和毫秒是可选的,如果你想创建一个2019年6月11日的日期,可以这样写: new Date('2019-06-11') 在这里要特别注意,使用日期字符串参数创建日期存在很大问题...可以从左到右记忆:年、月、日、小时、分钟、秒和毫秒。 Date 中需要注意的地方Month是从0开始的,如1月=== 0,2月=== 1,3月=== 2,依此类推。...这是相对乏味的。 如果需要创建自定义格式的时间,可以使用以下方法 getHours:获取当地时间获取小时数(0-23)。 getMinutes:获取本地时间获取分钟(0-59)。

    2.9K40

    JavaApi高级编程(四)Date类以及如何使用

    : 2、日期格式化方法: 3、日期/时间组件方法:  4、日期和时间模式 以上就是今天的内容,还请大佬对里面的内容稍作指点,谢谢*-* ---- 一、Date的基本概念以及使用  1、Date 类表示日期和时间..., 它包含的是一个长整型数据,表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数....//获取秒 int s = date.getSeconds(); System.out.println(s); //获取1970年1月1日0:0:0 到指定时间之间的毫秒数..., 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟?...、月、日和年;     toTimeString() //以特定于实现的格式显示时、分、秒和时区;     toLocaleDateString() //以特定于地区的格式显示星期几、月、日和年

    2.2K20

    JS日期方法操作大全,看这篇就够了

    在世界的不同地方以不同的方式解释日期字符串。例如 11-06-2019是 2019年6月11日还是 2019年11月6日。你不能确定我指的是哪一个,除非你知道我正在使用的日期系统。...0到31) -:日期分隔符 T:表示开始时间 HH:24位小时数(0到23) mm:分钟(0到59) ss:秒(0到59) sss:毫秒(0到999) ::时间分隔符 Z:如果存在 Z,则日期将设置为UTC...其中小时,分钟,秒和毫秒是可选的,如果你想创建一个2019年6月11日的日期,可以这样写: new Date('2019-06-11') 在这里要特别注意,使用日期字符串参数创建日期存在很大问题,把创建的日期打印出来就可以发现问题...可以从左到右记忆:年、月、日、小时、分钟、秒和毫秒。 Date 中需要注意的地方 Month是从 0开始的,如 1月===0,2月===1,3月===2,依此类推。...这是相对乏味的。 如果需要创建自定义格式的时间,可以使用以下方法 getHours:获取当地时间获取小时数(0-23)。 getMinutes:获取本地时间获取分钟(0-59)。

    6.7K20

    unix时间戳是从1970年1月1日(UTCGMT的午夜)开始所经过的秒数,不考虑闰秒

    Unix时间戳 Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp),是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数...UNIX 时间戳转换工具https://c.runoob.com/front-end/852 为什么从1970年1月1日开始?...最懒的解释:UNIX系统认为1970年1月1日0点是时间纪元,所以我们常说的UNIX时间戳是以1970年1月1日0点为计时起点时间的。 深入解释:最初计算机操作系统是32位,而时间也是用32位表示。...另外1年365天的总秒数是31536000,2147483647/31536000 = 68.1,也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07秒,便会到达最大时间...所以,因为用32位来表示时间的最大间隔是68年,而最早出现的UNIX操作系统考虑到计算机产生的年代和应用的时限综合取了1970年1月1日作为UNIX TIME的纪元时间(开始时间),至于时间回归的现象相信随着

    3.2K40

    Java SE8 日期和时间API

    这与UNIX/POSIX时间中使用的惯例相同。 从该原点开始,时间按照每天86400秒向前或向回度量,精确到纳秒。 Instance的值可向回追溯到10亿年(Instant.MIN)。...生日、假日、计划时间等通常最好都表示成本地日期和时间。 LocalDate是带有年、月、日的日期。...LocalTime方法 方法 描述 now,of 静态方法构建一个LocalTime,要么从当前时间构建,要么从给定的小时和分钟,以及可选的秒和纳秒构建 plusHours,plusMinutes,plusSeconds...,其小时、分钟、秒和纳秒修改为给定值 getHour,getMinute,getSecond,getNano 获取当前LocalTime的小时、分钟、秒或纳秒 toSecondOfDay,toNanoOfDay...一起的年/月/日/分钟/秒/纳秒,或从一个Instant和ZoneId中创建。

    1.8K30

    JavaScript 日期

    月 month,日 day,小时 hours,分钟 minutes,秒 seconds,毫秒 milliseconds var date = new Date(2019,06,20,12,40,13,0...) ; ps:JavaScript从 0 开始据算月份,所以一月是 0 ,十二月是 11 。...(0); 1970年1月1日减去new Date(x)所设置的 x 毫秒 ps:一天二十四小时为 86 400 000 毫秒 日期方法 创建Date对象时,可以使用许多方法对其进行操作 日期方法允许你使用本地时间或...UTC(通用或GMT)时间来获取和设置日期对象的年、月、日、小时、分、秒和毫秒 显示日期 JavaScript在默认下,将会以全文本字符串格式输出日期 Thu Jun 20 2019 13:04:53...设置日期 方法 描述 setDate() 以数值(1~31)设置日 setFullYear() 设置年(可选月和日) setHours() 设置小时 setMilliseconds() 设置毫秒 setMinutes

    1.5K20

    【重学 MySQL】三十二、日期时间函数

    【重学 MySQL】三十二、日期时间函数 获取日期、时间 函数 用法 CURDATE() ,CURRENT_DATE() 返回当前日期,只包含年、月、日 CURTIME() , CURRENT_TIME...转化的公式为:小时*3600+分钟*60+秒 SEC_TO_TIME(seconds) 将 seconds 描述转化为包含小时、分钟和秒的时间 计算日期和时间的函数 函数 用法 DATE_ADD(datetime...- time2的时间间隔 FROM_DAYS(N) 返回从0000年1月1日起,N天以后的日期 TO_DAYS(date) 返回日期date距离0000年1月1日的天数 LAST_DAY(date) 返回...date所在月份的最后一天的日期 MAKEDATE(year,n) 针对给定年份与所在年份中的天数返回一个日期 MAKETIME(hour,minute,second) 将给定的小时、分钟和秒组合成时间并返回...(1,2,3,4…) %i 两位数字表示分钟(00,01,02) %S和%s 两位数字表示秒(00,01,02…) %W 一周中的星期名称(Sunday…) %a 一周中的星期缩写(Sun.

    35510

    MySQL日期和时间函数汇总

    LOCALTIME 和NOW()同义 LOCALTIMESTAMP, LOCALTIMESTAMP() 和 NOW()同义 MAKEDATE() 从年和日创建日期 MAKETIME() 从时、分、秒创建时间...() 给年-月添加一段时间 PERIOD_DIFF() 返回一段时间之间的月数 QUARTER() 从日期参数返回季度 SEC_TO_TIME() 将秒转换为“hh:mm:ss”格式 SECOND()...该值以会话时区表示。 如果指定的fsp精度是从0到6的小数位数,则指定从0到6的小数精度。...) %I 小时 (01..12) %i 分钟, 数值 (00..59) %j 一年中的某一天 (001..366) %k 小时 (0..23) %l 小时 (1..12) %M 月名 (January....date参数指定开始日期或日期时间值。expr是一个表达式,指定从开始日期加上或减去的间隔值。expr被计算为一个字符串;它可以以-开头表示负间隔。unit是一个关键字,指示表达式应使用的单位。

    4.1K20

    在js中常见的时间格式及其转换

    例如,"2023-09-29T12:34:56Z" 表示 2023 年 9 月 29 日 12 时 34 分 56 秒的时间点。 2:日期字符串格式:常见的日期表示方法,通常是大家可读的形式展示。...3:时间戳: 时间戳是指从某个固定的起点(通常是 Unix 时间的起点,即 1970 年 1 月 1 日 00:00:00 UTC)以来经过的毫秒数、秒数或其他单位数。整数形式表示。...4:24 小时制时间: 以小时、分钟和秒为单位,使用 24 小时制。例如,"12:34:56" 表示 12 时 34 分 56 秒。...,例如:2021-09-08 使用Date对象的getFullYear()、getMonth()和getDate()方法来获取年、月和日,并使用padStart()方法来确保月份和日期为两位数。...3:如何获取时间戳中的年、月、日,小时、分钟和秒? 使用Date对象的相关方法来获取这些信息。

    4.5K50

    JavaScript 时间与日期

    为此,Date类型使用UTC (Coordinated Universal Time,国际协调时间[又称世界统一时间]) 1970年1月1日午夜(零时)开始经过的毫秒来保存日期。...在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的285616年。 创建一个日期对象,使用new运算符和Date构造方法(构造函数)即可。...默认通常接收的日期格式如下: 1.’月/日/年’,如6/13/2011; 2.’英文月名 日, 年’,如 May 25, 2004; 3.’英文星期几 英文月名 日 年 时:分:秒 时区’,...(年份,基于0的月份[0表示1月,1表示2月],月中的哪一天[1-31],小时数[0-23],分钟,秒以及毫秒)。只有前两个参数是必须的。...()); //以特定的格式显示时、分、秒和时区 alert(box.toLocaleDateString()); //以特定地区格式显示星期几、月、日和年

    2.1K81

    MatLab函数datetime、datenum、datevec、datestr

    完整日期向量带有六个元素,依顺序分别指示年、月、日、时、分、秒。部分日期向量指代有三个元素,依顺序分别指示年、月、日。DateVectors 的每个元素应为正整数或负整数值,秒元素可以为小数。...’ 从 1904年 1月 0日起计的天数 ‘juliandate’ 从 UTC 时间公元前 4714年 11月 24日(前公历日历)中午起计的天数 ‘modifiedjuliandate’ 从 UTC...时间 1858年 11月 17日午夜起计的天数 ‘posixtime’ 从 UTC 时间 1970年 1月 1日 00:00:00 起计的秒数(不算闰秒) ‘yyyymmdd’ 以 YYYYMMDD 数值形式表示的日期...,即将每个时间点表示为从 0000年 1月 0日起的天数。...完整日期向量带有六个元素,依顺序分别指示年、月、日、时、分、秒。部分日期向量指代有三个元素,依顺序分别指示年、月、日。DateVectors 的每个元素应为正整数或负整数值,秒元素可以为小数。

    6.8K40

    Linux应用开发【第十章】RTC应用开发

    Epoch Time 是指一个特定的时间:1970年1月1日0时0分0秒。假设现在距离1970年1月1日0时0分0秒走了N秒,在Linuxx系统里,时间数值就是N。 ​...那么问题来了,为什么要从1970年1月1日0时0分0秒开始呢?那年发生了什么,以至于Unix系统以它作“纪元”。...,函数返回自Epoch Time(1970年1月1日午夜(00:00:00))起经过的时间,以秒为单位。...%F 年-月-日 %g 年份的后两位数字,使用基于周的年 %G 年分,使用基于周的年 %h 简写的月份名 %H 24小时制的小时 %I 12小时制的小时 %j 十进制表示的每年的第几天 %m 十进制表示的月份...%M 十时制表示的分钟数 %n 新行符 %p 本地的AM或PM的等价显示 %r 12小时的时间 %R 显示小时和分钟:hh:mm %S 十进制的秒数 %t 水平制表符 %T 显示时分秒:hh:mm:ss

    2.4K30

    Linux命令之Date——时间

    %K 小时(以0-23来表示)。 %l 小时(以0-12来表示)。 %M 分钟(以00-59来表示)。 %P AM或PM。 %r 时间(含时分秒,小时以12小时AM/PM来表示)。...起算时间为1970-01-01 00:00:00 UTC。 %S 秒(以本地的惯用法来表示)。 %T 时间(含时分秒,小时以24小时制来表示)。 %X 时间(以本地的惯用法来表示)。...MM 月份(必要) DD 日期(必要) hh 小时(必要) mm 分钟(必要) ss 秒(选择性) 选择参数: -d  显示字符串所指的日期与时间。字符串前后必须加上双引号。...%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61) %...实例2:显示日期和设定时间 命令: date --date 08:42:00 输出: [root@localhost ~]# date '+%c' 2012年12月08日 星期六 08时41分37秒 [

    5.7K40
    领券