मानव पठनीय प्रारूप के लिए टाइमस्टैम्प


89

अच्छी तरह से मुझे एक अजीब समस्या है, जबकि यूनिक्स टाइमस्टैम्प से जावास्क्रिप्ट का उपयोग करके मानव प्रतिनिधित्व में परिवर्तित किया गया है

यहाँ टाइमस्टैम्प है

1301090400

यह मेरी जावास्क्रिप्ट है

var date = new Date(timestamp * 1000);
var year    = date.getFullYear();
var month   = date.getMonth();
var day     = date.getDay();
var hour    = date.getHours();
var minute  = date.getMinutes();
var seconds = date.getSeconds();  

मुझे परिणाम २०११, २५ २२ ०० ०० होने की उम्मीद थी। लेकिन यह २०११, २, ६, ०, ०, ०, ० मैं क्या याद करता हूं?


3
क्या यह मदद करता है: stackoverflow.com/questions/847185/…
जेम्स हुलसे

यह वही है जो मैं करता हूं
जॉर्ज

मैंने फ़ायरफ़ॉक्स फायरबग कंसोल में यह कोशिश की और अपेक्षित परिणाम मिला। आप किस ब्राउज़र / ओएस का उपयोग कर रहे हैं?
andrewmu

मैंने एक jsfiddle बनाया और यह ठीक काम करने लगता है: jsfiddle.net/9SUqX (मैंने ओपेरा पर परीक्षण किया)
जेम्स हल्स

जवाबों:


101

getDay()सप्ताह का दिन लौटाता है। दिनांक प्राप्त करने के लिए, का उपयोग करें date.getDate()getMonth()महीने को पुनः प्राप्त करता है, लेकिन महीना शून्य आधारित है, इसलिए इसका उपयोग करके getMonth()+1आपको सही महीना देना चाहिए। समय का मूल्य यहाँ ठीक प्रतीत होता है, यद्यपि यह समय यहाँ 23 है (GMT + 1)। यदि आप सार्वभौमिक मूल्य चाहते हैं, UTCतो विधियों में जोड़ें (जैसे date.getUTCFullYear(), date.getUTCHours())

var timestamp = 1301090400,
date = new Date(timestamp * 1000),
datevalues = [
   date.getFullYear(),
   date.getMonth()+1,
   date.getDate(),
   date.getHours(),
   date.getMinutes(),
   date.getSeconds(),
];
alert(datevalues); //=> [2011, 3, 25, 23, 0, 0]

1
आपका सुझाव तिथि के साथ मदद करता है, लेकिन मैं अभी भी पता नहीं लगा सकता कि घंटे, मिनट और सेकंड में क्या गलत है
जॉर्ज

7
@george आपको कुछ भी याद नहीं है। वे मान पूर्णांक हैं, इसलिए "00" जैसे मान नहीं हो सकते। आप इसे स्वयं आसानी से उदाहरण के लिए जोड़ सकते हैंminute = (minute < 10 ? "0" : "") + minute;
शैडो विजार्ड इयर फॉर यू

@georgevich: आप किस समय में हैं? यदि आप उपयोग करते हैं तो क्या होता है date.getUTCHours()?
KooiInc

1
GMT + 2 date.getUTCHours () का परिणाम 19 है
जॉर्ज

GMT + 2, इसलिए 22h सार्वभौमिक समय = 0 h आपका समय। यहाँ UTC-मानों का उपयोग करके एक jsfiddle है: jsfiddle.net/EZFG9
KooiInc

48
var newDate = new Date();
newDate.setTime(unixtime*1000);
dateString = newDate.toUTCString();

unixtimeआपके sql db द्वारा लौटाया गया समय कहाँ है यहाँ एक बेला है अगर यह मदद करता है।

उदाहरण के लिए, वर्तमान समय के लिए इसका उपयोग करना:

document.write( new Date().toUTCString() );


मैं इस सवाल का जवाब है, और स्वीकार किए जाते हैं anwer यहां पाया [* .toString ()] उपयोगी होने के लिए: stackoverflow.com/questions/13622142/... यहाँ एक सार है: gist.github.com/victoriastuart/b9fb09b890ef88755538b24b0207fece
विक्टोरिया स्टुअर्ट

1
"unixtime is undefined"मैं यहाँ क्या कर रहा हूँ
केटी

1
वैसे भी, यह आसानी से oneliner में तब्दील किया जा सकताnew Date(1480966325 * 1000).toUTCString()
Rozkalns

9

यहाँ kooilnc का उत्तर w / गद्देदार 0 है

function getFormattedDate() {
    var date = new Date();

    var month = date.getMonth() + 1;
    var day = date.getDate();
    var hour = date.getHours();
    var min = date.getMinutes();
    var sec = date.getSeconds();

    month = (month < 10 ? "0" : "") + month;
    day = (day < 10 ? "0" : "") + day;
    hour = (hour < 10 ? "0" : "") + hour;
    min = (min < 10 ? "0" : "") + min;
    sec = (sec < 10 ? "0" : "") + sec;

    var str = date.getFullYear() + "-" + month + "-" + day + "_" +  hour + ":" + min + ":" + sec;

    /*alert(str);*/

    return str;
}

7

घंटे, मिनट और सेकंड आपके ऑपरेटिंग सिस्टम के समय क्षेत्र पर निर्भर करते हैं। GMT (UST) में यह 22:00:00 है लेकिन अलग-अलग टाइमज़ोन में यह कुछ भी हो सकता है। तो GMT की तारीख बनाने के लिए समय क्षेत्र ऑफसेट को समय से जोड़ें:

var d = new Date();
date = new Date(timestamp*1000 + d.getTimezoneOffset() * 60000)

1000 बार टाइमस्टैम्प क्यों?
ब्रूनो गोम्स

2
@BrunoGomes वह टाइमस्टैम्प मान रहा है सेकंड में है, जबकि जावास्क्रिप्ट उन्हें मिलीसेकंड में करता है।
ब्रेंट

7

यहांDate.prototype.toLocaleTimeString() प्रलेखित के रूप में उपयोग करें

कृपया url में स्थानीय उदाहरण en-US पर ध्यान दें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.