比較適用的js日期物件定義方式

LFE發表於2018-05-25

    首先,我們知道js中的時間是從1970年1月1日零點開始計算的,它的定義不像其他js物件一樣有多種定義方法,他只有一種定義方式,就是new一個建構函式的形式。在日常開發工作當中用的比較常見的是獲取當前時間和自定義一個時間物件,獲取當前時間毋庸置疑new Date()這個方法是適用於所有瀏覽器的,但自定義一個時間物件方法則千奇百怪,這裡推薦幾個能夠適用所有瀏覽器的簡單定義方法。

先看看mdn給出的幾種定義方式:
var birthday = new Date('December 17, 1995 03:24:00');  //通過整體傳入一個'月 日年, 時:分:秒'格式的字串
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
var birthday = new Date(1995, 11, 17, 3, 24, 0);
複製程式碼
  • 1、使用一個完整的字串:new Date('December 17, 1995 03:24:00'),所有瀏覽器都適用

  • 2、是用一個完整字串:Date('1995-12-17T03:24:00'),IE8及以下不支援,因為識別不了以中劃線連線的日期格式

  • 3、單值傳入new Date(1995, 11, 17)、new Date(1995, 11, 17, 3, 24, 0),適用所有瀏覽器

  • 4、整體傳入字串:new Date('2018/05/24')、new Date('2018/05/24 12:00:00') ,適用所有瀏覽器

最後推薦:

1、new Date(2018, 04, 24)、new Date(2018, 04, 24, 12, 00, 00)

2、new Date('2018/05/24')、new Date('2018/05/24 12:00:00')

理由:適用所有瀏覽器,書寫方式比較簡單,但要注意的是以單個值傳入的話月份要減一,以整體字串形式傳入則不需要,也就是說new Date(2018, 04, 24)和new Date('2018/05/24')定義的是同一個日期

剛踏入部落格之路,技術有限,希望能和大家一起交流學習

相關文章