時間戳是自 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
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" |
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))" |
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