स्ट्रिंग मिलफुलियर और इसी तरह से मिल सकती है।जावास्क्रिप्ट में स्ट्रिंग 2010-1-10 से डेट ऑब्जेक्ट को कैसे परिवर्तित करें?
क्या इसे उलट किया जा सकता है?
स्ट्रिंग मिलफुलियर और इसी तरह से मिल सकती है।जावास्क्रिप्ट में स्ट्रिंग 2010-1-10 से डेट ऑब्जेक्ट को कैसे परिवर्तित करें?
क्या इसे उलट किया जा सकता है?
/
द्वारा -
बदलें और जावास्क्रिप्ट यह पार्स कर सकते हैं। जे एस विनिर्देश में बेवकूफ गलती (आईएसओ दिनांक/समय मानक बहुत स्पष्ट है कि -
सही है)
var str = "2010-1-10";
alert(Date.parse(str.replace(/-/g,"/")));
आपके ब्राउज़र में चिपकाने का प्रयास करें: javascript:alert(Date.parse("2010-01-01".replace(/-/g,"/")));
Date.parse(datestring)
उदाहरण; 8 जुलाई, 2005 1 जनवरी, 1970 से मिलीसेकेंड की संख्या लौटें:
var d = Date.parse("Jul 8, 2005");
alert(d);
// 1120773600000
यह गलत है। Date.parse '200-1-1'' को संभाल नहीं सकता है। आपको '/'' '' 'से बदलना होगा। –
var s = "2010-1-10".split('-');
var dateObj = new Date(Number(s[0]),Number(s[1]) -1 ,Number(s[2]))
var date = new Date();
var str = "2010-1-10";
var dateArray = str.split("-")
date.setFullYear(parseInt(dateArray[0]));
date.setMonth(parseInt(dateArray[1])-1); // months indexed as 0-11, substract 1
date.setDate(parseInt(dateArray[2])); // setDate sets the month of day
तय किया गया है कि –
@ जैन जोंगबूम के लिए धन्यवाद! –
किसी भी आईएसओ 8601 से एक नया दिनांक वस्तु वापस जाने के लिए स्वरूपित स्ट्रिंग, जो "2010-01-10" से "2010-01-10T19: 42: 45.5-05: 00", से कई पैटर्नों को देखने की आवश्यकता है।
सेकंड डिवीजन (एक दशमलव बिंदु से पहले) और स्थानीय समय क्षेत्र ऑफसेट (द्वारा एक '+' या पहले '-') यहाँ कोड के तीन तिमाहियों हैं:
Date.parseISO= function(iso){
var z, tem, TZ, ms= 0;
z= /:/.test(iso)? ' GMT': '';
ms=/(\.\d+)/.exec(iso);
if(ms){
ms= ms[1];
iso= iso.replace(ms,'');
ms= Math.round(1000*ms);
}
if(z && !/Z$/.test(iso)){
TZ=/:\d\d((\-|\+)(\d\d):(\d\d))$/.exec(iso);
if(TZ){
tem= TZ[3]*60+(+TZ[4]);
z+= TZ[2]+tem;
iso= iso.replace(TZ[1],'');
}
}
iso= iso.replace(/[^\d:]/g,' ')+z;
var stamp= Date.parse(iso);
if(!stamp) throw iso +' Unknown date format';
return new Date(stamp+ms);
}
// एक जावास्क्रिप्ट दिनांक से एक आईएसओ स्ट्रिंग हो रही है सबसे आसान अगर आप यूटीसी (जीएमटी) का उपयोग
Date.prototype.toISO= function(time){
var i=0, D= this, A= [D.getUTCFullYear(), D.getUTCMonth(), D.getUTCDate(),
D.getUTCHours(), D.getUTCMinutes(), D.getUTCSeconds()];
++A[1];
var T= A.splice(3);
A= A.join('-');
if(time){
if(time==2) T.pop();
while(i< T.length){
if(T[i]<10) T[i]= '0'+T[i];
++i;
}
if(time==4)T[2]= T[2]+'.'+
Math.round((this.getMilliseconds()/1000)*1000);
return A+'T'+T.join(':')+'Z';
}
return A;
}
console.log(new Date('2010-01-10'));
जोड़ा गया कोड नमूना –
अरे, यह असली साफ है! महान टिप! –
लेकिन यह एक संख्या है, ऑब्जेक्ट नहीं। – user198729