轉行做前端,總算嘗試半路出家的辛苦,兩個月來找工作進展非常之不順利,只要每次失敗總結教訓,把每次遇到的問題吃透,菜鳥找到工作應該不會太遠吧!下面是是今天筆試遇到一個題目,是關於時間轉換的;筆試的時候寫的不太理想,回來查了查,發現將時間轉換為毫秒數的方法有四個:
Date.parse()
Date.UTC
valueOf()
getTime()
1. Date.parse():該方法接受一個表示日期的字符串參數,然后嘗試根據這個日期返回日期的毫秒數。ECMA-262沒有定義該方法支持哪種日期格式,因此這個方法的行為因為瀏覽器實現而異。如果傳入字符串不能表示日期,那么它會返回NaN。該方法返回的毫秒值后三位全為0,精確到秒數,沒有毫秒數。
Date.parse("2012年9月9日") NaN Date.parse("2012 9 9") 1347120000000 // 毫秒數轉換為日期格式 new Date(Date.parse("2012 9 9")) Sun Sep 09 2012 00:00:00 GMT+0800 (中國標准時間)
2. Date.UTC(): 該方法也返回表示日期的毫秒數,但是該方法接受的參數是年份、基於0的月份、月份中的哪一天、小時數、分鍾、秒以及毫秒。這些參數中只有前兩個參數是必需的。
Date.UTC(12) NaN Date.UTC(2013,4,11); 1368230400000
3. valueOf(): 該方法返回日期的毫秒表示,可以方便時間的比較,該方法返回的毫秒數精確到毫秒。
var date = new Date(); date.valueOf(); 1368283579633
4. getTime(): 返回表示日期的毫秒數,與valueOf()返回的值相同,也精確到毫秒數。
var date = new Date(); date.getTime(); 1368283691951
把每個遇到的問題搞清楚,也許面試筆試次數多了,成長也多了,自己找工作也許會順利些吧。