पर विभाजित "-"
स्ट्रिंग को उन भागों में पार्स करें जिनकी आपको ज़रूरत है:
var from = $("#datepicker").val().split("-")
var f = new Date(from[2], from[1] - 1, from[0])
रेगेक्स का प्रयोग करें
var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"))
रेगेक्स का उपयोग क्यों नहीं किया जाता है?
क्योंकि आप जानते हैं कि आप तीन भागों से बने एक स्ट्रिंग पर काम कर रहे होंगे, जिसे हाइफ़न द्वारा अलग किया गया है।
हालाँकि, यदि आप दूसरे स्ट्रिंग के भीतर उसी स्ट्रिंग की तलाश कर रहे थे, तो रेगेक्स जाने का रास्ता होगा।
पुन: उपयोग
क्योंकि आप इसे अपने नमूना कोड में एक से अधिक बार कर रहे हैं, और हो सकता है कि आपके कोड बेस में कहीं और हो, इसे किसी फ़ंक्शन में लपेटें:
function toDate(dateStr) {
var parts = dateStr.split("-")
return new Date(parts[2], parts[1] - 1, parts[0])
}
के रूप में उपयोग:
var from = $("#datepicker").val()
var to = $("#datepickertwo").val()
var f = toDate(from)
var t = toDate(to)
या यदि आप अपने कार्य में jQuery बुरा नहीं मानते हैं:
function toDate(selector) {
var from = $(selector).val().split("-")
return new Date(from[2], from[1] - 1, from[0])
}
के रूप में उपयोग:
var f = toDate("#datepicker")
var t = toDate("#datepickertwo")
आधुनिक जावास्क्रिप्ट
यदि आप अधिक आधुनिक जेएस का उपयोग करने में सक्षम हैं, तो सरणी विनाशकारी एक अच्छा स्पर्श भी है:
const toDate = (dateStr) => {
const [day, month, year] = dateStr.split("-")
return new Date(year, month - 1, day)
}