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:
命令:date "+%s"
输出:1372654714

获取北京时间:
命令:date '+%Y-%m-%d %H:%M:%S'
输出:2013-07-01 12:55:56

unix timestamp转北京时间:
命令:date -d@1372654714 '+%Y-%m-%d %H:%M:%S'
输出:2013-07-01 12:58:34

北京时间转unix timestamp:
命令:date -d"2013-07-01 12:58:34" '+%s'
输出:1372654714

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

获取unix时间戳:
语句:select unix_timestamp();
输出:1372659589

获取北京时间:
语句:select now();
输出:2013-07-01 12:55:56

unix时间戳转北京时间:
语句:select from_unixtime(1229055132,"%Y-%m-%d %h:%i:%s");
输出:2008-12-12 12:12:12

北京时间转unix时间戳:
语句:select unix_timestamp("2008-12-12 12:12:12");
输出:1229055132

3、php语言实现北京时间与unix timestamp互转:

获取unix timestamp:
代码:echo time();
输出:1372659589

获取北京时间:
代码:echo date("Y-m-d H:i:s");
输出:2013-07-01 14:47:56

unix timestamp转北京时间:
代码:echo date("Y-m-d H:i:s",1372661384);
输出:2013-07-01 14:49:44

北京时间转unix timestamp:
代码:echo time("2013-01-01 24:38:52");
输出:1372661472

4、javaScript实现北京时间与unix timestamp互转:

获取unix timestamp:
代码:alert(Math.round(new Date().getTime()/1000));
弹出:1372664103

获取北京时间:
代码:alert((new Date()).toLocaleString());
弹出:2013-07-01 14:47:56

unix timestamp转北京时间:
代码:alert((new Date(1234567890*1000)).toLocaleString());
弹出:2009-2-14 07:31:30

北京时间转unix timestamp:
代码:alert(Date.parse("2012/05/05 15:38:45")/1000)
弹出:1336203525

5、java实现北京时间与unix timestamp互转:

unix timestamp转北京时间:
String date=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(123456789 * 1000))

北京时间转unix timestamp:
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转北京时间:
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1372654714) * INTERVAL '1 second'

北京时间转unix timestamp:
SELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS'));

7、python实现北京时间与unix timestamp互转:

unix timestamp转北京时间:
import time
time.gmtime(1372654714)

北京时间转unix timestamp:
import time
int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S')))

8、perl实现北京时间与unix timestamp互转:

unix timestamp转北京时间:
先 my $time = Unix timestamp
然后 my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6]

北京时间转unix timestamp:
先 use Time::Local
然后 my $time = timelocal($sec, $min, $hour, $day, $month, $year);

9、SQL Server实现北京时间与unix timestamp互转:

unix timestamp转北京时间:
DATEADD('s', 1372654714, '1970-01-01 00:00:00')

北京时间转unix timestamp:
SELECT DATEDIFF('s', '1970-01-01 00:00:00', '2012-01-01 10:10:10')

10、VBScript/ASP实现北京时间与unix timestamp互转:

unix timestamp转北京时间:
DateAdd("s", 1372654714, "01/01/1970 00:00:00")

北京时间转unix timestamp:
DateDiff("s", "01/01/1970 00:00:00", "08/07/2013 13:13:13")

11、ruby实现北京时间与unix时间戳互转:

unix时间戳转北京时间:
Time.at(1372654714)

北京时间转unix时间戳:
Time.local(2013, 12, 24, 14, 36, 48)