將dd-mm-yyyy 字串轉換為日期
在JavaScript 中,將dd-mm-yyyy 格式的字串轉換為日期物件很簡單,但必須考慮某些因素。
直接轉換的問題
當將new Date(string) 與dd-mm-yyyy 字串一起使用時,您可以遇到「無效日期」錯誤。這是因為“-”符號不被識別為日期分隔符號。
解
1.依「-」分割:
將字串分割為其組成部分並手動構造日期對象:
var from = $("#datepicker").val().split("-") var f = new Date(from[2], from[1] - 1, from[0])
2.使用正則表達式:
使用正則表達式提取日期組件:
var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "//"))
3.建立可重複使用函數:
為了方便起見,將轉換邏輯包裝在可重複使用函數中:
function toDate(dateStr) { var parts = dateStr.split("-") return new Date(parts[2], parts[1] - 1, parts[0]) }
4.現代JavaScript :
如果您可以使用現代JavaScript 功能,請利用陣列解構:
const toDate = (dateStr) => { const [day, month, year] = dateStr.split("-") return new Date(year, month - 1, day) }
以上是如何可靠地將 dd-mm-yyyy 字串轉換為 JavaScript 日期物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!