我做的JS以下獲得時間字符串:得到一個HH的哈克的方式:MM:在javascript SS時間字符串
(new Date()).toTimeString().substring(0, 8)
所有我需要的是這個字符串(絕對不'需要像moments.js一樣的東西)。當谷歌搜索沒有看到任何人這樣做。我在這裏做什麼有沒有嚴重的缺點?可能存在的問題?
我做的JS以下獲得時間字符串:得到一個HH的哈克的方式:MM:在javascript SS時間字符串
(new Date()).toTimeString().substring(0, 8)
所有我需要的是這個字符串(絕對不'需要像moments.js一樣的東西)。當谷歌搜索沒有看到任何人這樣做。我在這裏做什麼有沒有嚴重的缺點?可能存在的問題?
alert(new Date().toTimeString().split(' ')[0]);
//Because newDate().toTimeString() results 'HH:MM:SS GMT...'
//split it and take the first item of the array
問候的toTimeString
method的返回值是ECMAScript中5指定:
字符串的內容是依賴於實現的,但旨在表示「時間「日期在當前時區中的部分,以方便的,人類可讀的形式。
瀏覽器或環境可以合法生產,將打破你的方法的格式,因爲toTimeString
結果是完全依賴於實現。例如,不使用前導零,或省略秒,或使用AM/PM而不是24小時時間等。
我不知道是否全部環境使用相同的格式,但我會假設大多數選擇ISO 8601格式,因爲還有其他指定的功能(如toISOString
),無論如何都需要ISO格式。根據的錯誤的責任,在罕見的情況下,一些環境出現,這不適合你的代碼,我會說你的代碼將依靠非標準行爲是錯誤的。
相比之下,toISOstring
返回值是standardized as YYYY-MM-DDTHH:mm:ss.sssZ
(總是文字T
,在UTC的情況下,文字Z
),但它可能不會幫助你在這裏,因爲它總是使用UTC時區,而不是本地環境時間。
您也可以使用split以HH:MM:SS格式獲取時間。 所以.toTimeString()
你得到一個字符串,但這不應該是壞的。 您的/我的方法沒有嚴重的缺點。從維也納
有趣的感謝信息我不知道。我們是否知道任何實際上實現這一點的瀏覽器,或者如果他們希望沒有違規,他們就可以實現這一點? – red888 2014-10-07 14:56:51
很高興知道謝謝。你能回答我的問題與這個信息,所以我可以標記爲答案?我會考慮您提供的問題的完整答案。 – red888 2014-10-07 15:09:55