Unix時間戳 POSIX時間 Unix時間

 

時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)以來的秒數,也被稱爲 Unix 時間戳(Unix Timestamp)。

Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義爲從格林威治時間1970年01月01日00時00分00秒起至如今的總秒數
Unix時間戳不只被使用在Unix系統、類Unix系統中,也在許多其餘操做系統中被普遍採用。

java

如何在不一樣編程語言中獲取如今的Unix時間戳(Unix timestamp)?

Java time
JavaScript Math.round(new Date().getTime()/1000)
getTime()返回數值的單位是毫秒。由於new Date().getTime()獲得的是millisecond,須要除以1000
Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
MySQL SELECT unix_timestamp(now())
Perl time
PHP time()
PostgreSQL SELECT extract(epoch FROM now())
Python 先 import time 而後 time.time()
Ruby 獲取Unix時間戳:Time.now 或 Time.new
顯示Unix時間戳:Time.now.to_i
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())
其餘操做系統
(若是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))編程

java.util.Date的入參是millisecond。而Unix timestamp的單位是s編程語言

JavaScript

先 var unixTimestamp = new Date(Unix timestamp * 1000) 而後 commonTime = unixTimestamp.toLocaleString()函數

js中Date須要的入參是millisecondspa

Linux date -d @Unix timestamp
MySQL 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
Date date = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("01/01/1970 01:00:00");
long epoch = date.getTime();

這個地方是否是須要除以1000轉換成s呢?操作系統

JavaScript

var commonTime = new Date(Date.UTC(year, month - 1, day, hour, minute, second)).net

這個地方是否是須要除以1000轉換成s呢?命令行

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, day, month, 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)



http://unixtime.51240.com/scala

var oldTime = (new Date("2011/11/11 20:10:10")).getTime(); //獲得毫秒數
var newTime = new Date(oldTime); //就獲得普通的時間了

直接傳入毫秒數做爲參數,給Date對象就能夠獲得普通的時間了,而後經過getHours,getFullYear等方法獲取年月日,時分秒了unix

 

建立一個日期對象:

var objDate=new Date([arguments list]); 

參數形式有如下5種:

1)new Date("month dd,yyyy hh:mm:ss");
2)new Date("month dd,yyyy");
3)new Date(yyyy,mth,dd,hh,mm,ss);

在程序中我使用的第三種初始化方法,老是顯示格式化的參數不正確,仔細看了一下必定要是整型的才能夠,我傳遞的是字符串

4)new Date(yyyy,mth,dd);
5)new Date(ms);

須要注意最後一種形式,參數表示的是須要建立的時間和 GMT時間1970年1月1日之間相差的毫秒數。各類函數的含義以下:

month:用英文 表示月份名稱,從January到December

mth:用整數表示月份,從(1月)到11(12月)

dd:表示一個 月中的第幾天,從1到31

yyyy:四位數表示的年份

hh:小時數,從0(午夜)到23(晚11點)

mm: 分鐘數,從0到59的整數

ss:秒數,從0到59的整數

ms:毫秒數,爲大於等於0的整數

如:

new Date("January 12,2006 22:19:35"); 
new Date("January 12,2006"); 
new Date(2006,0,12,22,19,35); 
new Date(2006,0,12); 
new Date(1137075575000); 

上面的各類建立形式都表示2006 年1月12日這一天。 

http://www.jb51.net/article/44981.htm

相關文章
相關標籤/搜索