今天和網友聊起在javascript里面實現DateFormat 的話題。
把想法發布一下,當是筆記。
格式化:
1、先用正則把日期表達式分段:
var tokens = "yyyy-MM-dd(沒有時間)".match(/y+|M+|d+|m+|[^yMdm]+/g)
//結果數組為:yyyy,-,MM,-,dd,(沒有時間)
2、將其中的yyyy MM dd 替換成相映的處理對象
3、格式化時,先復制數組,依次遍歷,如果元素是處理對象,那么元素值替換成處理結果。
4、將新數組join。即為需要結果。
5、parse時。先復制數組,若元素為字符串,精確匹配。若未處理對象,讀取需要的值,匹配失敗,則終止操作,返回結果。
想法而已,實際實現時可能還有很多現在無法意料的事情:)