Pisahkan pada "-"
Pisahkan string ke bagian yang Anda butuhkan:
var from = $("#datepicker").val().split("-")
var f = new Date(from[2], from[1] - 1, from[0])
Gunakan regex
var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"))
Mengapa tidak menggunakan regex?
Karena Anda tahu Anda akan mengerjakan string yang terdiri dari tiga bagian, dipisahkan oleh tanda hubung.
Namun, jika Anda mencari string yang sama di dalam string lain, regex akan menjadi cara untuk melakukannya.
Penggunaan kembali
Karena Anda melakukan ini lebih dari sekali dalam kode sampel Anda, dan mungkin di tempat lain dalam basis kode Anda, bungkus dalam sebuah fungsi:
function toDate(dateStr) {
var parts = dateStr.split("-")
return new Date(parts[2], parts[1] - 1, parts[0])
}
Menggunakan sebagai:
var from = $("#datepicker").val()
var to = $("#datepickertwo").val()
var f = toDate(from)
var t = toDate(to)
Atau jika Anda tidak keberatan jQuery dalam fungsi Anda:
function toDate(selector) {
var from = $(selector).val().split("-")
return new Date(from[2], from[1] - 1, from[0])
}
Menggunakan sebagai:
var f = toDate("#datepicker")
var t = toDate("#datepickertwo")
JavaScript modern
Jika Anda dapat menggunakan JS yang lebih modern, perusakan array juga merupakan sentuhan yang bagus:
const toDate = (dateStr) => {
const [day, month, year] = dateStr.split("-")
return new Date(year, month - 1, day)
}