Linux时间戳和标准时间的互转

在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

[转载]date命令时间转换的更多相关文章

  1. Date类型时间转换

    /* 时间转换start */ public static void main(String args[]) { Date nowTime = new Date(); System.out.print ...

  2. "/Date(1405056837780)/" 时间转换

    //往往json传过来的时间都是"/Date(1405056837780)/" //转换需要的方法 String.prototype.ToString = function (fo ...

  3. [linux]date命令时间戳和时间之间的转换

    非常多时候我们查看数据库的数据,或者是一些别人系统中的数据须要用时间戳来查询.或者查询出来的结果是个时间戳. 还有时候,查询条件须要输入时间戳. 我之前的办法就是用在线工具来完毕,后来用mac了.我觉 ...

  4. date命令时间戳和时间之间的转换

    这里是在mac下的操作,主要就是用date这个命令,更多的用法用man命令查看 字符串格式时间 TO 时间戳我们知道date 命令可以直接把当前时间转化为时间戳 # date +%s143678152 ...

  5. date命令使用总结【转载】

    本文转载自:http://blog.sina.com.cn/s/blog_674b5aae0100o0w9.html 由于跨年.跨月.闰平年等特殊性,在日常编程过程中对日期的处理总是异常麻烦.目前,各 ...

  6. 【Linux基础】Linux命令date 日期时间

    1.显示到纳秒 date +%F.%H:%M:%S.%N --:38.740127086 date +%Y-%m-%d.%H:%M:%S.%N2019-04-25.00:28:24.060756673 ...

  7. Linux下date命令,格式化输出,时间设置

    date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] ...

  8. 修改linux系统时间的方法(date命令)

    修改linux系统时间的方法(date命令) 来源:互联网 作者:佚名 时间:11-18 23:22:27 [大 中 小] date命令不仅可以显示系统当前时间,还可以用它来修改系统时间,下面简单的介 ...

  9. Linux date命令 - 显示和设置系统日期与时间

    操作系统上的时间也许只是当做一个时钟.特别在控制台下, 我们通常并不认为时间有什么重要的.但是对于管理员,这种认识是错误的.你知道错误的日期和时间会导致你不能编译程序么? 因为日期和时间很重要,这或许 ...

随机推荐

  1. asdasd

    adasdasd asdasd asdasd asd

  2. Java使用poi包读取Excel文档

    项目需要解析Excel文档获取数据,就在网上找了一些资料,结合自己这次使用,写下心得: 1.maven项目需加入如下依赖: <dependency> <groupId>org. ...

  3. Object-C 类定义 -- 笔记

    OC类分为两个文件,一个是.h文件,一个是.m文件 .h文件 存放类,函数的申明 .文件 存放类的具体实现 类申明使用关键字 @interface @end来申明 类实现使用关键字@implement ...

  4. javadoc简介

    Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档.也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Java ...

  5. POJ 2752 Seek the Name, Seek the Fame(next数组的理解)

    做此题,只要理解好next数组就行....................... #include <cstdio> #include <cmath> #include < ...

  6. javascript 识别移动端设备

    看到一种比较简单的方法,于是就把它记录下来备用吧.最近离职了,房子换了,还有...真是一把心酸,我知道谁活着都不容易,自己也资格把自己的苦水吐给别人,因为别人也过得不容易,所以大多不快都只能闷着,大家 ...

  7. mysql 分区表详解

    项目中要一张库表实现 list分区.并且支持多种数据库. oracle 很顺利,只是mysql 听说5.1版本就已经支持了, 可是试了很多个版本,都不行,后来查到原因是要5.5 以上版本 分区才支持 ...

  8. ZOJ 1642

    题意:有两个字符串,每个串由n个字符组成,每个字符有一个价值,Roy每次指定串2中的一个字符,他的得分增加的值为这个字符的价值,然后把两个串中这个字符前面的那部分(包括这个字符)删掉,重复进行这样的操 ...

  9. HTML 学习网站

    http://www.w3school.com.cn/tiy/t.asp?f=html_intro

  10. shell中的eval

    eval语法 eval arg1 arg2 ... eval的作用就是将后面的参数arg1 arg2等等当成一个pipeline,然后重新执行shell处理pipeline的流程(有关pipeline ...