在LINUX系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数。如/etc/shadow里的密码更改日期和失效日期,还有代理服务器的访问日志对访问时间的记录等等。
 
下面介绍几种时间戳格式和标准时间格式转换的方法:
1、分别以标准格式和时间戳来显示当前时间 [root@365linux ~]# date     2010年 08月 10日 星期二 03:39:21 CST   
[root@365linux ~]# date +%s 
1281382775
2、显示指定时间的时间戳 [root@365linux ~]# date -d "2010-07-20 10:25:30" +%s     1279592730
 
3、将时间戳转换为标准时间格式
方法1:使用date命令
[root@365linux ~]# date -d "@1279592730" 
 2010年 07月 20日 星期二 10:25:30 CST    
[root@365linux ~]# date -d "1970-01-01 utc 1279592730 seconds" 
 2010年 07月 20日 星期二 10:25:30 CST    
[root@365linux ~]# date -d "1970-01-01 14781 days" "+%Y/%m/%d %H:%M:%S" 
 2010/06/21 00:00:00
[root@localhost tmp]#  date -d "@1279592730" 
 Tue Jul 20 10:25:30 CST 2010
 [root@localhost tmp]#  date -d "@1279592730" +"%Y%m%d %H:%M:%S"
 20100720 10:25:30
 [root@localhost tmp]#  date -d "@1279592730" +"%F %H:%M:%S" 
2010-07-20 10:25:30
 [root@localhost tmp]# date -d "1970-01-01 utc 1279592730 seconds"  
Tue Jul 20 10:25:30 CST 2010
 [root@localhost tmp]# date -d "1970-01-01 utc 1279592730 seconds" +"%F %H:%M:%S"
2010-07-20 10:25:30
 
 
方法2:使用awk里的时间函数
[root@365linux ~]# echo "1279592730" |awk '{print strftime ("%F %T",$0)}' 
 2010-07-20 10:25:30
 
方法3:使用perl处理
[root@365linux ~]# perl -e 'print localtime(1279592730)."\n";' 
 Tue Jul 20 10:25:30 2010
 
补充:
关于时间格式的解释
 
UTC  (Universal Time Coordinated,UTC)世界协调时间
CST  (China Standard Time UTC+8:00)中国沿海时间(北京时间)
GMT  (Greenwich Mean Time)格林威治标准时间:
 
系统时区设置:
[root@365linux ~]# vim /etc/sysconfig/clock
ZONE="Asia/Shanghai" 
 UTC=true
 ARC=false      
[root@365linux ~]# cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
oracle 中将unix/linux时间戳进行转换
unix/linux时间戳是按照从格林威治时间1970年1月1日期计算的一个秒数。
 
unix/linux时间戳转换为标准时间格式(主要是注意时区问题):
select TO_DATE('19700101','yyyymmdd') + 1235728935/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24 from dual 其中1235728935就是unix/linux时间戳,转换完之后就表示为 2009-2-27 18:02:15。
 
反过来也一样,还是要考虑时区:
select (to_date('2009-2-27 18:02:15','yyyy-mm-dd hh24:mi:ss') - to_date('1970-1-1','yyyy-mm-dd'))*86400- TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))*3600 from dual
 

Linux时间戳和标准时间的互转的更多相关文章

  1. javascript Date对象的介绍及linux时间戳如何在javascript中转化成标准时间格式

    1.Date对象介绍 Date对象具有多种构造函数.new Date()new Date(milliseconds)new Date(datestring)new Date(year, month)n ...

  2. python(6)时间戳和北京时间互转,输出当前的时间和推到七天前的日期

    项目发展的需要:(包含时间函数)time datetime 时间戳和北京时间互转 import time import datetime s = '2015-04-17 11:25:30' d = d ...

  3. Mysql导入Excel数据 日期问题 (Excel 与 MySQL 时间戳格式和日期 互转)

    https://blog.csdn.net/ghw455954461/article/details/7247738 今天项目表中需要导入好几w条数据 ,但日期由两个一个是标准时间一个为时间戳,程序中 ...

  4. 【JavaScript】标准日期、中国标准时间、时间戳、毫秒数互转

    转载自:https://blog.csdn.net/IT429/article/details/78341847 看到的一篇比较有用的前端js时间转换方法,留个备份 首先要明确这三种格式是什么样子的: ...

  5. js 时间戳 中国标准时间 年月日 日期之间的转换

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. mysql—MySQL数据库中10位时间戳转换为标准时间后,如何对标准时间进行加减X天处理

    在这篇的缘由:问题:"FROM_UNIXTIME(timeline,'%Y-%m')"的结果(2020-06)做月份增加1月或者减少1月的计算处理,想着直接在结果上+1但是,结果为 ...

  7. linux和windows的文件互传

    Linux →→→Windows 1.使用secureCRT:下载文件只需在shell终端仿真器中输入命令"sz 文件名",即可利用Zmodem将文件下载到本地某目录下. 2. s ...

  8. linux时间戳和时间格式的转化

    1.将时间戳转化为yyyy-MM-dd HH:mm:ss时间格式 date -d @时间戳(秒) 2.设置服务器时间---特别注意使用   date -s 时间

  9. 【PE结构】PIMAGE_FILE_HEADER中TimeDateStamp的时间戳与标准时间转换

    计算PE文件创建时间,需要对时间进行转换,也就是将时间戳转换成特定的格式,或者特定的格式转换成时间戳. pImageFileHeader->TimeDateStamp的值为1487665851 ...

随机推荐

  1. JVM原理讲解和调优

    一.什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现 ...

  2. [Visual Studio]项目属性中继承的值怎么删除

    遇到一个问题,莫名奇妙编译,却出错"找不到包含文件<winapifamily.h>",之前从没出过问题啊!百思不得其解. 研究包含winapifamily的位置,发现有 ...

  3. js 小知识

    在iframe 页面获取父级页面的 html var obj = window.parent.document.getElementById('modaliframe'); 解决Jquery 的在一个 ...

  4. 初探Redis+Net在Windows环境下的使用

    Redis官网地址:https://redis.io/:Redis官方暂时不支持Windows环境,但是MicroSoft Open Tech group开发了一个Windows平台下运行的版本. R ...

  5. Immutable api example

    var temp=[{name:"kitty",age:31},{name:"ff",age:22},{name:"kitty",age:4 ...

  6. ubuntu 更改时区

    更改/etc/timezone Asia/Chongqing sudo dpkg-reconfigure tzdata

  7. 【leedcode】 Longest Palindromic Substring

    Given a , and there exists one unique longest palindromic substring. https://leetcode.com/problems/l ...

  8. XML:使用DOM技术解析xML文件中的城市,实现select级联选择

    中国的城市xml格式:cities.xml <?xml version="1.0" encoding="utf-8"?> <china> ...

  9. RegExp 对象 (JavaScript)

    $1...$9 属性 (RegExp) (JavaScript) 返回在模式匹配期间找到的,所存储的最近的九个部分.只读. 语法         RegExp.$n 参数     RegExp 始终为 ...

  10. MVC中的成员资格,授权,安全性

    使用 Authorize 特性登录 Authorize 是 ASP.NET MVC 自带的默认授权过滤器, 可用来限制用户对操作方法的访问. 保护控制器操作 Authorize 特性在表单身份验证和 ...