Apakah ada yang tahu cara mengurai string tanggal dalam format yang diperlukan dd.mm.yyyy?
Jawaban:
Lihat:
Kode:
var strDate = "03.09.1979";
var dateParts = strDate.split(".");
var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
"Note: parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies."?
Jika Anda menggunakan jQuery UI, Anda dapat memformat tanggal apa pun dengan:
<html>
<body>
Your date formated: <span id="date1"></span><br/>
</body>
</html>
var myDate = '30.11.2011';
var parsedDate = $.datepicker.parseDate('dd.mm.yy', myDate);
$('#date1').text($.datepicker.formatDate('M d, yy', parsedDate));
Kami menggunakan kode ini untuk memeriksa apakah string adalah tanggal yang valid
var dt = new Date(txtDate.value)
if (isNaN(dt))
ref: http://momentjs.com/docs/#/parsing/string/
Jika Anda menggunakan moment.js, Anda dapat menggunakan mode "string" + "format"
moment(String, String);
moment(String, String, String);
moment(String, String, Boolean);
moment(String, String, String, Boolean);
ex:
moment("12-25-1995", "MM-DD-YYYY");
Saya telah menggunakan kode berikut di IE. (Kompatibel dengan IE8)
var dString = "2013.2.4";
var myDate = new Date( dString.replace(/(\d+)\.(\d+)\.(\d+)/,"$2/$3/$1") );
alert( "my date:"+ myDate );
Pengembang ASP.NET memiliki pilihan bawaan yang praktis ini (MS JS harus disertakan di halaman):
var date = Date.parseLocale('20-Mar-2012', 'dd-MMM-yyyy');
http://msdn.microsoft.com/en-us/library/bb397521%28v=vs.100%29.aspx
Gunakan objek Tanggal:
var time = Date.parse('02.02.1999');
document.writeln(time);
Berikan: 917902800000
new Date(Date.parse('02.02.1999'))
new Date(Date.parse('02.02.1999'))untuk Javascript
new Date(Date.parse('02.02.1999'))akan memberikan hasil yang identik dengan new Date('02.02.1999'), termasuk Invalid Date di beberapa browser. Menggunakan parser built-in bisa dibilang cara terburuk untuk mengurai stempel waktu.
Fungsi ini juga menangani tanggal 29.2.2001 yang tidak valid.
function parseDate(str) {
var dateParts = str.split(".");
if (dateParts.length != 3)
return null;
var year = dateParts[2];
var month = dateParts[1];
var day = dateParts[0];
if (isNaN(day) || isNaN(month) || isNaN(year))
return null;
var result = new Date(year, (month - 1), day);
if (result == null)
return null;
if (result.getDate() != day)
return null;
if (result.getMonth() != (month - 1))
return null;
if (result.getFullYear() != year)
return null;
return result;
}
Anda dapat memformat tanggal hanya dengan membuat jenis kode ini. Dalam javascript.
// for eg.
var inputdate=document.getElementById("getdate").value);
var datecomp= inputdate.split('.');
Var Date= new Date(datecomp[2], datecomp[1]-1, datecomp[0]);
//new date( Year,Month,Date)