unix时间

简述unix时间戳

徘徊边缘 提交于 2019-12-20 09:08:27
unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp) 是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z. 一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。 在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。 编程中获取Unix时间戳 如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000) getTime()返回数值的单位是毫秒 Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000 MySQL SELECT unix_timestamp(now()) Perl time PHP time() PostgreSQL SELECT

UNIX 与 Linux 区别联系

久未见 提交于 2019-12-16 16:54:50
UNIX 与 Linux 区别联系 转载自: http://c.biancheng.net/view/707.html UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。 现代的 Windows 系统已经朝着“图形界面”的方向发展了,和 UNIX 系统有了巨大的差异,从表面上甚至看不出两者的关联。 - UNIX 的坎坷历史 UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。 说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单位

Linux的起源和发展

谁说我不能喝 提交于 2019-12-12 15:49:47
Linux教程 Linux的起源和发展 Linxu的起源 1991年, Linus Torvalds 尚是芬兰赫尔辛基大学的一名学生,他在学校学Minix操作系统的课程,Minix:MINIX是一种基于微内核架构的类UNIX计算机操作系统,只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,这个系统就是Linux,意思是Linus的Minix(Linus's Minix),最初系统版本为Linux0.01,是Linux时代开始的标志 受 GNU计划 的思想影响,Linus将源代码公开发布到网络上,Linus没有想到的是,这个内核迅速引起了全世界的关注,1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99版本的代码大约有十万行,用户大约有10万左右,这时已经是互联网的时代,他们不用相识,不用谋面,通过网络讨论,通过网络协作,推进着Linux 1994年,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布

MYSQL INT格式时间戳转为时间格式

僤鯓⒐⒋嵵緔 提交于 2019-12-07 03:19:57
有时候会直接用到INT结构的时间戳来记录时间(如图), 这时就需要进行转换了 比如我这个数据库,我要删除 3天内 的所有数据 SELECT FROM_UNIXTIME( logtime ) FROM `zz_account_log` where DATE(from_unixtime(logtime,'%Y-%m-%d') )> DATE(CURDATE() - INTERVAL 3 DAY) UNIX_TIMESTAMP(date) 如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数) 可以使用该函数 直接进行对比时间戳 FROM_UNIXTIME ,就是将时间戳转成常用时间格式 SELECT FROM_UNIXTIME(logtime) FROM `zz_account_log` 返回结果: UNIX_TIMESTAMP(date) 如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的 本地时间的一个数字。 代码如下

ORACLE 中NUMBER(10)时间类型(Unix 时间)相关

时光总嘲笑我的痴心妄想 提交于 2019-12-05 22:57:29
1、Unix 转换成时间 create or replace function INT2TIME(in_number NUMBER) return date is begin if in_number < -3786854743 or in_number > 2208960000 then return null; else return(TO_DATE('19700101', 'yyyymmdd') + in_number / 86400 + TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone), 1, 3)) / 24); end if; end INT2TIME; 2、从时间转换成INT create or replace function TIME2INT(in_date IN DATE) return number is begin return round(((in_date - TO_DATE('19700101', 'yyyymmdd')) * 86400 - TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone), 1, 3)) * 3600), 0); end TIME2INT; 3、查询示例 select time,int2time(time) from 表名称 c where c.time >

MySQL 数据库中日期与时间函数 FROM_UNIXTIME(), UNIX_TIME() ...

时光毁灭记忆、已成空白 提交于 2019-12-05 00:04:20
这几天写代码,反复用到将日期时间字段转化成数字串和日期格式字符串的情况,感觉自己还处于壹知半解之中,索性花点时间查下相关资料,基本弄明白了 MySQL 中两个常用的日期函数的用法,记录于此,作为笔记供参考。 1、FROM_UNIXTIME( unix_timestamp ) 参数:通常是壹个十位的数字,如:1344887103 返回值:有两种,可能是类似 'YYYY-MM-DD HH:MM:SS' 这样的字符串,也有可能是类似于 YYYYMMDDHHMMSS.uuuuuu 这样的数字,具体返回什么取决于该函数被调用的形式。 mysql> select FROM_UNIXTIME(1344887103); +---------------------------+ | FROM_UNIXTIME(1344887103) | +---------------------------+ | 2012-08-14 03:45:03 | +---------------------------+ 1 row in set (0.00 sec) 2、FROM_UNIXTIME( unix_timestamp ,format ) 参数 unix_timestamp :与方法 FROM_UNIXTIME( unix_timestamp ) 中的参数含义一样; 参数 format :

Hive presto和hive时间格式转换

删除回忆录丶 提交于 2019-12-04 20:35:00
1、北京时间格式 to unix时间格式 数据格式: 2017-11-17 08:28:13 2017-11-17 08:28:10 2017-11-17 08:27:51.343 2017-11-17 08:27:48.021 presto单个标准时间转化(10位unix): select to_unixtime(cast ('2017-08-30 10:36:15' as timestamp)) hive单个标准时间转化(10位unix): select unix_timestamp(cast ('2017-08-30 10:36:15' as timestamp)) presto单个毫秒时间转化(13位unix): select to_unixtime(cast ('2017-12-01 16:42:08.771' as timestamp)) hive单个毫秒时间转化(自动转为10位unix): select unix_timestamp(cast ('2017-12-01 16:42:08.771' as timestamp)) presto变量转化(根据时间格式分别转化为10位unix、13位unix): select to_unixtime(cast (time as timestamp)) from table1 hive变量转化(只能自动转化为10位unix):

Unix时间戳(Unix timestamp)浅谈

蓝咒 提交于 2019-12-03 22:13:42
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他操作系统中被广告采用。 目前相当一部分操作系统使用32位二进制数字表示时间。此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制: 01111111 11111111 11111111 11111111 )。其后一秒,二进制数字会变为 10000000 00000000 00000000 00000000 ,发生溢出错误,造成系统将时间误解为1901年12月13日20时45分52秒。这很可能会引起软件故障,甚至是系统瘫痪。使用64位二进制数字表示时间的系统(最多可以使用到格林威治时间292,277,026,596年12月04日15时30分08秒)则基本不会遇到这类溢出问题。 如何在不同编程语言中获取现在的Unix时间戳( Unix timestamp )? Java time JavaScript Math.round(new Date().getTime()/1000) getTime()返回数值的单位是毫秒 Microsoft .NET /

GMT、UTC、UNIX时间戳、时区

匿名 (未验证) 提交于 2019-12-03 00:09:02
UTC时间:世界协调时间(UTC)是世界上不同国家用来调节时钟和时间的主要时间标准,也就是零时区的时间。UTC是以原子时秒长为基础,在时刻上尽量接近于GMT的一种时间计量系统。为确保UTC与GMT相差不会超过0.9秒,在有需要的情况下会在UTC内加上正或负闰秒。UTC现在作为世界标准时间使用。 GMT:即格林尼治标准时间,也就是世界时。GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间。但由于地球自转不均匀不规则,导致GMT不精确,现在已经不再作为世界标准时间使用。所以,UTC与GMT基本上等同,误差不超过0.9秒。 CST时间:中央标准时间 如:当UTC时间为0点时,中国CST时间为8点,因为零时区和中国北京时区相差8个时区。 地球自西向东旋转,东边比西边先看到太阳,东边的时间也比西边的早。为了统一世界的时间,1884年的国际经度会议规规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为零时区(GMT+00),东1-12区,西1-12区,中国北京处于东8区(GMT+08)。 若英国时间为6点整,则GMT时间为6点整,则北京时间为14点整。 计算机中的UNIX时间戳,是以GMT/UTC时间「1970-01-01T00:00:00」为起点,到具体时间的秒数,不考虑闰秒。这么做当然是为了简化计算机对时间操作的复杂度。

golang时间戳

匿名 (未验证) 提交于 2019-12-03 00:08:02
/* go时间戳 程序的一个通常需求是 计算从unix起始时间开始 到某个时刻的秒数 毫秒数 微妙数 */ package main import ( "fmt" "time" ) func main() { /* 使用unix UnixNano 来分别获取从Unix起始时间到现在所经过的秒数和微妙数 */ now := time.Now() secs := now.Unix() nanos := now.UnixNano() fmt.Println(now) millis := nanos / 1000000 time.Unix(secs, 0) time.Unix(0, nanos) } 来源:51CTO 作者: boshuzhang 链接:https://blog.csdn.net/boshuzhang/article/details/100916027