首頁 >web前端 >js教程 >如何將 dd-mm-yyyy 字串轉換為 JavaScript 日期物件?

如何將 dd-mm-yyyy 字串轉換為 JavaScript 日期物件?

DDD
DDD原創
2024-11-19 22:43:02801瀏覽

How Can I Convert a dd-mm-yyyy String to a JavaScript Date Object?

將dd-mm-yyyy 字串轉換為日期

無法使用以下指令將dd-mm-yyyy 字串解析為有效的日期物件JavaScript 的Date 建構子主要是由於建構子無法辨識「-」符號的存在。為了克服這個問題,需要替代方法。

解決方案:按“-”拆分

一種解決方案是使用“-”將字串拆分為各個組件符號作為分隔符,然後使用日、月、年值建立一個新的Date 物件:

var from = $("#datepicker").val().split("-")
var f = new Date(from[2], from[1] - 1, from[0])

解決方案:使用Regex

正規表示式也可以用來擷取各個日期組件並建構有效的日期字串:

var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "//"))

建議:按「-」分割

雖然兩種方法都有效,但對於此特定任務,「split on -」方法可以說是更具體和高效,因為它直接針對輸入字串的已知格式,而不依賴可能更複雜的正規表示式匹配。

可重用性

如果程式碼中多次執行此轉換,建議將其封裝在函數中,以實現可重複使用性和可維護性:

function toDate(dateStr) {
  var parts = dateStr.split("-")
  return new Date(parts[2], parts[1] - 1, parts[0])
}

使用函數:

var f = toDate($("#datepicker").val())
var t = toDate($("#datepickertwo").val())

現代JavaScript

對於現代JavaScript 環境,陣列解構可以簡化程式碼:

const toDate = (dateStr) => {
  const [day, month, year] = dateStr.split("-")
  return new Date(year, month - 1, day)
}

以上是如何將 dd-mm-yyyy 字串轉換為 JavaScript 日期物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn