html5的form元素對日期時間有豐富的支持
<input type="date"> <input type="time"> <input type="datetime"> <input type="month"> <input type="week"> <input type="datetime-local">
問題是,你使用了它們后,發現日期並不是默認在當天的(沒有默認任何日期),而且el.value=new Date()也不行,只支持yyyy-MM-ddTHH:mm:ss.SSS(或其部分)這種形式的的字符串
js默認是沒有日期格式化函數的,除非你打算:
- 引入一個js的日期庫
- 自己寫一個簡單的日期擴展類(自己考慮每月天數的不同,閏年等等問題,以實現日期的增減)
- 用后台語言直接在value的位置格式化輸出,如<?=date('Y-m-d').'T'.date('H:i') ?>
document.getElementById('YourDataID').valueAsDate = new Date();
有意思的是,我用jQuery的選擇器居然不能使用這個屬性(設置了后無效)
此外,這些新玩意你只能在有限場景使用,生產環境是沒意義的,瀏覽器支持太low了。