Date

1:在JavaScript中,Date對象用來表示日期和時間。javascript

要獲取系統當前時間,用:java

var now = new Date(); now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST) now.getFullYear(); // 2015, 年份 now.getMonth(); // 5, 月份,注意月份範圍是0~11,5表示六月 now.getDate(); // 24, 表示24號 now.getDay(); // 3, 表示星期三 now.getHours(); // 19, 24小時制 now.getMinutes(); // 49, 分鐘 now.getSeconds(); // 22, 秒 now.getMilliseconds(); // 875, 毫秒數 now.getTime(); // 1435146562875, 以number形式表示的時間戳

你可能觀察到了一個很是很是坑爹的地方,就是JavaScript的月份範圍用整數表示是0~11,0表示一月,1表示二月……,因此要表示6月,咱們傳入的是5!這絕對是JavaScript的設計者當時腦抽了一下,可是如今要修復已經不可能了。數據庫

第二種建立一個指定日期和時間的方法是解析一個符合ISO 8601格式的字符串:瀏覽器

var d = Date.parse('2015-06-24T19:49:22.875+08:00'); d; // 1435146562875 

但它返回的不是Date對象,而是一個時間戳。不過有時間戳就能夠很容易地把它轉換爲一個Datespa



2:var d = new Date(1435146562875); d; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)

時區

Date對象表示的時間老是按瀏覽器所在時區顯示的,不過咱們既能夠顯示本地時間,也能夠顯示調整後的UTC時間:操作系統

var d = new Date(1435146562875); d.toLocaleString(); // '2015/6/24 下午7:49:22',本地時間(北京時區+8:00),顯示的字符串與操做系統設定的格式有關 d.toUTCString(); // 'Wed, 24 Jun 2015 11:49:22 GMT',UTC時間,與本地時間相差8小時 

那麼在JavaScript中如何進行時區轉換呢?實際上,只要咱們傳遞的是一個number類型的時間戳,咱們就不用關心時區轉換。任何瀏覽器均可以把一個時間戳正確轉換爲本地時間。設計

時間戳是個什麼東西?時間戳是一個自增的整數,它表示從1970年1月1日零時整的GMT時區開始的那一刻,到如今的毫秒數。假設瀏覽器所在電腦的時間是準確的,那麼世界上不管哪一個時區的電腦,它們此刻產生的時間戳數字都是同樣的,因此,時間戳能夠精確地表示一個時刻,而且與時區無關。code

因此,咱們只須要傳遞時間戳,或者把時間戳從數據庫裏讀出來,再讓JavaScript自動轉換爲當地時間就能夠了。對象

要獲取當前時間戳,能夠用:ip

if (Date.now) { alert(Date.now()); // 老版本IE沒有now()方法 } else { alert(new Date().getTime()); }
相關文章
相關標籤/搜索