分享

北京时间与unix时间戳(unix timestamp)的互转方法

 勤奋不止 2014-12-12

unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp),是从1970年1月1日(UTC/GMT的午夜)开始到某一时刻所经过的秒数,不考虑闰秒。

时间戳0按照ISO 8601格式写出来为 1970-01-01T00:00:00Z 。一小时为3600秒,一个基准日(也称纪元日,epoch day)是86400秒,闰秒没有计算在内。

转换方法: bash mysql php javascript java java python java perl sqlserver Vbs/Asp ruby

1、在linux bash下北京时间与unix时间戳互转:

获取unix timestamp:

  1. 命令:date "+%s"
  2. 输出:1372654714

获取北京时间:

  1. 命令:date '+%Y-%m-%d %H:%M:%S'
  2. 输出:2013-07-01 12:55:56

unix timestamp转北京时间:

  1. 命令:date -d@1372654714 '+%Y-%m-%d %H:%M:%S'
  2. 输出:2013-07-01 12:58:34

北京时间转unix timestamp:

  1. 命令:date -d"2013-07-01 12:58:34" '+%s'
  2. 输出:1372654714

2、用mysql sql语句实行unix时间戳与北京时间互转:

获取unix时间戳:

  1. 语句:select unix_timestamp();
  2. 输出:1372659589

获取北京时间:

  1. 语句:select now();
  2. 输出:2013-07-01 12:55:56

unix时间戳转北京时间:

  1. 语句:select from_unixtime(1229055132,"%Y-%m-%d %h:%i:%s");
  2. 输出:2008-12-12 12:12:12

北京时间转unix时间戳:

  1. 语句:select unix_timestamp("2008-12-12 12:12:12");
  2. 输出:1229055132
3、php语言实现北京时间与unix timestamp互转:

获取unix timestamp:

  1. 代码:echo time();
  2. 输出:1372659589

获取北京时间:

  1. 代码:echo date("Y-m-d H:i:s");
  2. 输出:2013-07-01 14:47:56

unix timestamp转北京时间:

  1. 代码:echo date("Y-m-d H:i:s",1372661384);
  2. 输出:2013-07-01 14:49:44

北京时间转unix timestamp:

  1. 代码:echo time("2013-01-01 24:38:52");
  2. 输出:1372661472
4、javaScript实现北京时间与unix timestamp互转:

获取unix timestamp:

  1. 代码:alert(Math.round(new Date().getTime()/1000));
  2. 弹出:1372664103

获取北京时间:

  1. 代码:alert((new Date()).toLocaleString());
  2. 弹出:2013-07-01 14:47:56

unix timestamp转北京时间:

  1. 代码:alert((new Date(1234567890*1000)).toLocaleString());
  2. 弹出:2009-2-14 07:31:30

北京时间转unix timestamp:

  1. 代码:alert(Date.parse("2012/05/05 15:38:45")/1000)
  2. 弹出:1336203525
5、java实现北京时间与unix timestamp互转:

unix timestamp转北京时间:

  1. String date=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(123456789 * 1000))

北京时间转unix timestamp:

  1. long n = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2012-12-12 12:12:12");
6、PostgreSQL实现北京时间与unix timestamp互转:

unix timestamp转北京时间:

  1. SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1372654714) * INTERVAL '1 second'

北京时间转unix timestamp:

  1. SELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS'));
7、python实现北京时间与unix timestamp互转:

unix timestamp转北京时间:

  1. import time
  2. time.gmtime(1372654714)

北京时间转unix timestamp:

  1. import time
  2. int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S')))
8、perl实现北京时间与unix timestamp互转:

unix timestamp转北京时间:

  1. 先 my $time = Unix timestamp
  2. 然后 my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6]

北京时间转unix timestamp:

  1. 先 use Time::Local
  2. 然后 my $time = timelocal($sec, $min, $hour, $day, $month, $year);
9、SQL Server实现北京时间与unix timestamp互转:

unix timestamp转北京时间:

  1. DATEADD('s', 1372654714, '1970-01-01 00:00:00')

北京时间转unix timestamp:

  1. SELECT DATEDIFF('s', '1970-01-01 00:00:00', '2012-01-01 10:10:10')
10、VBScript/ASP实现北京时间与unix timestamp互转:

unix timestamp转北京时间:

  1. DateAdd("s", 1372654714, "01/01/1970 00:00:00")

北京时间转unix timestamp:

  1. DateDiff("s", "01/01/1970 00:00:00", "08/07/2013 13:13:13")
8、ruby实现北京时间与unix时间戳互转:

unix时间戳转北京时间:

  1. Time.at(1372654714)

北京时间转unix时间戳:

  1. Time.local(2013, 12, 24, 14, 36, 48)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多