利民吧 > unix时间戳转换
现在:
时间戳
北京时间
Unix时间戳(Unix timestamp)
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 timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用。
获取当前时间戳
-
Java
// pure java (int) (System.currentTimeMillis() / 1000)
// joda (int) (DateTime.now().getMillis() / 1000)
-
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
// pure php time()
// Carbon\Carbon Carbon::now()->timestamp
-
PostgreSQL
SELECT extract(epoch FROM now())
-
Python
import time
time.time() -
Ruby
获取Unix时间戳:Time.now 或 Time.new
显示Unix时间戳:Time.now.to_i -
Go
import time
int32(time.Now().Unix()) -
SQL Server
SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
-
Unix / Linux
date +%s
-
VBScript / ASP
DateDiff("s", "01/01/1970 00:00:00", Now())
-
Swift
NSDate().timeIntervalSince1970
-
Objective-C
[[NSDate date] timeIntervalSince1970]
-
SQLite
SELECT strftime('%s', 'now')
-
Erlang
calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.
-
Groovy
(new Date().time / 1000).intValue()
-
Lua
os.time()
-
Perl命令行
perl -e "print time"
Unix时间戳(Unix timestamp)转换为普通时间
-
Java
String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000))
-
JavaScript
var unixTimestamp = new Date(Unix timestamp * 1000);
var commonTime = unixTimestamp.toLocaleString(); -
Linux
date -d @Unix timestamp
-
MySQL
select from_unixtime(Unix timestamp)
-
Perl
my $time = Unix timestamp
my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6] -
PHP
date('r', Unix timestamp);
-
PostgreSQL
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + Unix timestamp) * INTERVAL '1 second';
-
Python
import time
time.gmtime(Unix timestamp) -
Ruby
Time.at(Unix timestamp)
-
SQL Server
DATEADD(s, Unix timestamp, '1970-01-01 00:00:00')
-
VBScript / ASP
DateAdd("s", Unix timestamp, "01/01/1970 00:00:00")
-
Perl命令行
perl -e "print scalar(localtime(Unix timestamp))"
普通时间转换为Unix时间戳(Unix timestamp)
-
Java
long epoch = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("01/01/1970 01:00:00");
-
JavaScript
var commonTime = new Date(Date.UTC(year, month - 1, day, hour, minute, second))
-
MySQL
SELECT unix_timestamp(time)
时间格式: YYYY-MM-DD HH:MM:SS 或 YYMMDD 或 YYYYMMDD -
Perl
use Time::Local
my $time = timelocal($sec, $min, $hour, $day, $month, $year); -
PHP
mktime(hour, minute, second, month, day, year)
-
PostgreSQL
SELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS'));
-
Python
import time
int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S'))) -
Ruby
Time.local(year, month, day, hour, minute, second)
-
SQL Server
SELECT DATEDIFF(s, '1970-01-01 00:00:00', time)
-
Unix / Linux
date +%s -d"Jan 1, 1970 00:00:01"
-
VBScript / ASP
DateDiff("s", "01/01/1970 00:00:00", time)