鍍金池/ 問答/HTML/ JavaScript時(shí)間比較

JavaScript時(shí)間比較

yyyy-mm-dd格式的時(shí)間可以直接進(jìn)行比較嗎?('2017-12-10' > '2017-09-10')

回答
編輯回答
柒喵

不能比較,你這個(gè)字符串且里面帶-,有一種是可以就是YYMMDD:20170220 20170201這種可以,你轉(zhuǎn)換成毫秒之后比較吧。就是這樣的

new Date('2017-09-10').valueOf() 得到 1505001600000
new Date('2017-12-10').valueOf() 得到 1512864000000
2017年3月24日 06:52
編輯回答
笨笨噠

不能,必須時(shí)間戳

2017年3月3日 08:14
編輯回答
忠妾

你這是在比較兩個(gè)字符串呀。

要么,實(shí)例化為Date對(duì)象,去比較時(shí)間戳;要么,分別分離出年月日,然后挨個(gè)比較數(shù)字。

2017年10月17日 11:16
編輯回答
汐顏

先把兩個(gè)時(shí)間轉(zhuǎn)成時(shí)間戳,比較時(shí)間戳

2017年6月1日 11:00
編輯回答
愛礙唉

如果都是規(guī)范格式,可以直接比較

2018年2月21日 08:19
編輯回答
貓小柒

最好不要這樣比較,('2017-12-10' > '2017-09-10')這個(gè)是沒問題的,可一旦出現(xiàn)日期格式變成這樣 ('2017-02-02' > '2017-1-11'),你就會(huì)發(fā)現(xiàn)結(jié)果不符合預(yù)期了,因?yàn)樽址谋容^是從左到右一位一位比較的,2017-02的0與2017-1的1比較結(jié)果就會(huì)錯(cuò)誤,所以嚴(yán)謹(jǐn)做法還是應(yīng)該轉(zhuǎn)成時(shí)間戳。

2018年3月27日 17:18
編輯回答
執(zhí)念

直接比較就是字符串比較, 從開始依次對(duì)比每個(gè)字符

'2017-12-10' > '2017-09-10'  
'2017-12-10' < '2017-9-10'  
'2017-12-30' > '2017-12-09'
'2017-9-30' < '2017-9-9'
2017年5月17日 04:02
編輯回答
愛礙唉
字符串 比較是比較鍵盤的unicode值  也就是charCode  它比較是通過每個(gè)字符進(jìn)行比較 而不是針對(duì)整體,
按你需求應(yīng)該是比較事件,所以比較結(jié)果基本為錯(cuò)誤的


你應(yīng)該轉(zhuǎn)換為時(shí)間戳 或者對(duì)應(yīng)去比較它們年月日的值 來進(jìn)行時(shí)間的比較
2017年2月4日 08:04