जावास्क्रिप्ट में समय के लिए यूनिक्स टाइमस्टैम्प परिवर्तित करें


1157

मैं MySQL डेटाबेस में यूनिक्स टाइमस्टैम्प के रूप में समय संग्रहीत कर रहा हूं और यह कुछ जावास्क्रिप्ट कोड को भेजा जाता है। मुझे इससे केवल समय कैसे मिलेगा?

उदाहरण के लिए, एचएच / एमएम / एसएस प्रारूप में।


5
जेएस टाइमस्टैम्प्स मिलीसेकंड में हैं और PHP सेकंड में डिलीवर करता है, बस 1000 से गुणा करें।
एकर नंवबर

यहाँ विभिन्न तिथि प्रारूप के साथ एक बहुत ही उपयोगी लिंक है: timestamp.online/article/… 1000 से गुणा के साथ मिलाएं और यह काम पूरा कर लेता है!
केविन लेमाइरे

जवाबों:


1728

let unix_timestamp = 1549312452
// Create a new JavaScript Date object based on the timestamp
// multiplied by 1000 so that the argument is in milliseconds, not seconds.
var date = new Date(unix_timestamp * 1000);
// Hours part from the timestamp
var hours = date.getHours();
// Minutes part from the timestamp
var minutes = "0" + date.getMinutes();
// Seconds part from the timestamp
var seconds = "0" + date.getSeconds();

// Will display time in 10:30:23 format
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);

console.log(formattedTime);

दिनांक ऑब्जेक्ट के बारे में अधिक जानकारी के लिए, कृपया MDN या ECMAScript 5 विनिर्देशन देखें


114
@nickf गुणन आधुनिक सीपीयू पर तुच्छ हैं - स्ट्रिंग संयोजन के लिए बहुत अधिक काम की आवश्यकता होगी !
अलनीतक

4
कॉन्टैटेनेशन में मेमोरी को पढ़ना और मेमोरी को लिखना शामिल होता है..किसी को कोई ऐसी चीज़ डिज़ाइन कर सकता है जो कुछ सरल लेती है जैसे कि जोड़ना और इसे गुणा से अधिक जटिल बनाना ... एक बच्चे को कॉन्टेनेट करने के लिए कहें और वे कर सकते हैं..मूलिप्लिकायन अधिक है ... प्लस मेमोरी को रैखिक रूप से कहीं भी काम करने के लिए रखा गया है ... क्या कोई @nickf टिप्पणी का संदर्भ दे सकता है?

29
वास्तव में यह '10: 2: 2 'प्रारूप में समय प्रदर्शित करेगा, क्योंकि यह नीचे दिए गए मानों से पहले अतिरिक्त 0 नहीं जोड़ता है।
Fireblaze

16
@ user656925 - गुणन में संख्याएँ शामिल होती हैं, संघनन में तार शामिल होते हैं। कंप्यूटर तारों की तुलना में कहीं अधिक कुशलता से संख्याओं को संभालते हैं। जब स्ट्रिंग संयोजन किया जाता है, तो पृष्ठभूमि में बहुत सारे स्मृति प्रबंधन चल रहे हैं। (हालांकि, यदि आप पहले से ही किसी भी तरह से एक स्ट्रिंग संयोजन कर रहे हैं, तो एक तार में कुछ अतिरिक्त वर्णों को शामिल करना वास्तव में एक प्रोसेसर की तुलना में औसतन कम खर्चीला हो सकता है जो एक साथ दो संख्याओं को गुणा करने में लेता है।)
ब्रिलियनड

6
@Stallman नंबर की गणना कंप्यूटर द्वारा की जाने वाली सबसे मौलिक चीज़ है, और वे इस पर बेहद कुशल हैं, स्मृति और रनटाइम दोनों में। ऊपर ब्रिलियन की टिप्पणी प्रासंगिक है, हालांकि उनकी टिप्पणी का बहुत अंतिम हिस्सा IMHO पूरी तरह से फर्जी है।
अलनीतक

297

function timeConverter(UNIX_timestamp){
  var a = new Date(UNIX_timestamp * 1000);
  var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
  var year = a.getFullYear();
  var month = months[a.getMonth()];
  var date = a.getDate();
  var hour = a.getHours();
  var min = a.getMinutes();
  var sec = a.getSeconds();
  var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
  return time;
}
console.log(timeConverter(0));


एचएच / एमएम / एसएस के लिए बस अंतिम तीन चर का उपयोग करें और यह समय आपके स्थानीय समय में होगा लेकिन यदि आप यूटीसी समय प्राप्त करना चाहते हैं तो बस गेटआउट तरीकों का उपयोग करें। यहाँ कोड है।
शोम्रत

36
मैंने इस समाधान का इस्तेमाल किया लेकिन इसे मिनटों और सेकंड्स के रूप में दिखाया: 03 या: 09 के बजाय: 3 या: 9, जैसे कि:var min = a.getMinutes() < 10 ? '0' + a.getMinutes() : a.getMinutes(); var sec = a.getSeconds() < 10 ? '0' + a.getSeconds() : a.getSeconds();
user1985189

3
बग: getMonth()0 और 11 के बीच एक महीने की संख्या देता है, इस प्रकार a.getMonth() - 1गलत है।
jcampbell1

195

जावास्क्रिप्ट मिलीसेकंड में काम करता है, इसलिए आपको सबसे पहले UNIX टाइमस्टैम्प को सेकंड से मिलीसेकंड में बदलना होगा।

var date = new Date(UNIX_Timestamp * 1000);
// Manipulate JavaScript Date object here...

80

मैं जैकब राइट की Date.format()लाइब्रेरी के लिए आंशिक हूं , जो PHP के date()फ़ंक्शन की शैली में जावास्क्रिप्ट तिथि को प्रारूपित करता है।

new Date(unix_timestamp * 1000).format('h:i:s')

12
मुझे पता है कि यह एक दिन में वापस अच्छा जवाब था, लेकिन इस दिन देशी जेएस वस्तुओं का विस्तार एक विरोधी पैटर्न है।
पीटर

3
यह नोड जेएस में काम नहीं करता है (अब और?) format is not a function। लेकिन यह जाहिरा तौर पर काम करता है: stackoverflow.com/a/34015511/7550772
ibodi

71

उपयोग:

var s = new Date(1504095567183).toLocaleDateString("en-US")
console.log(s)
// expected output "8/30/2017"  

और समय के लिए:

var s = new Date(1504095567183).toLocaleTimeString("en-US")
console.log(s)
// expected output "3:19:27 PM"

देखिए Date.prototype.toLocaleDateString ()


यह दिनांक (M / D / YYYY) प्राप्त करने के लिए एक आदेश है, न कि अनुरोध के अनुसार समय (HH / MM / SS)।
वोल्फगैंग

2
बस एक नोट, "1504095567183" संख्या unix_timestamp * 1000
कैमिलो777

1
इसके अलावा, toLocaleStringतिथि और समय दोनों शामिल हैं।
शॉन

56

यहाँ सेकंड के रूप में प्रारूपित करने के लिए सबसे छोटा एक लाइनर समाधान है hh:mm:ss:

/**
 * Convert seconds to time string (hh:mm:ss).
 *
 * @param Number s
 *
 * @return String
 */
function time(s) {
    return new Date(s * 1e3).toISOString().slice(-13, -5);
}

console.log( time(12345) );  // "03:25:45"

विधि Date.prototype.toISOString()विस्तारित विस्तारित आईएसओ 8601 प्रारूप में समय देता है , जो हमेशा 24 या 27 वर्ण लंबा ( क्रमशः YYYY-MM-DDTHH:mm:ss.sssZया ±YYYYYY-MM-DDTHH:mm:ss.sssZक्रमशः) होता है। समयक्षेत्र हमेशा शून्य यूटीसी ऑफसेट होता है।

एनबी: इस समाधान के लिए किसी तीसरे पक्ष के पुस्तकालयों की आवश्यकता नहीं है और सभी आधुनिक ब्राउज़रों और जावास्क्रिप्ट इंजनों में समर्थित है।


मैं क्रोम के कंसोल में आपके फ़ंक्शन को चिपका रहा हूं: / यहां तक ​​कि आपके फिडल में भी यह मेरे लिए 01:02:00 दिखा रहा है! फ़ायरफ़ॉक्स पर कोशिश की, वही परिणाम। बहुत अजीब ... मुझे पूरा यकीन है कि क्योंकि मैं GMT + 1 हूं!
स्टीव चामिलार्ड

मैंने आपके उत्तर के लिए एक संपादन की पेशकश की है जो किसी भी समयक्षेत्र की उपेक्षा करता है, इसलिए यह हमेशा सही स्वरूपित मूल्य दिखाएगा!
स्टीव चामिलार्ड

1
@SteveChamaillard धन्यवाद, स्टीव। आप सही थे, toTimeStringसमय क्षेत्र के साथ अच्छा काम नहीं कर रहा था। दुर्भाग्य से आपका संपादन इससे पहले अस्वीकार कर दिया गया था जब मैंने इसे देखा था। हालाँकि, मैं toISOStringइसके बजाय उपयोग करने का सुझाव toGMTStringदूंगा , क्योंकि यह पदावनत है और विभिन्न प्लेटफार्मों पर अलग-अलग परिणाम दे सकता है।
VisioN

ES6 के साथ भी छोटा: समय दें = s => नई तिथि (s * 1e3) .toISOString () (स्लाइस (-13, -5)
SamGoody

28

मैं एक पुस्तकालय का उपयोग करने के बारे में सोचता हूँ जैसे क्षणिका.कॉम , जो इसे वास्तव में सरल बनाता है:

यूनिक्स टाइमस्टैम्प पर आधारित:

var timestamp = moment.unix(1293683278);
console.log( timestamp.format("HH/mm/ss") );

MySQL दिनांक स्ट्रिंग के आधार पर:

var now = moment("2010-10-10 12:03:15");
console.log( now.format("HH/mm/ss") );

3
"6 घंटे पहले" जैसे संदेशों के लिए क्षण का एक और लाभ। (या समान लिबास) उनके सापेक्ष समय का समर्थन होगा ।
मार्टिन

आपके console.logउदाहरणों में, मैं प्रारूप के कारण उलझन में था /, लेकिन इससे मुझे बहुत मदद मिली।
नेटऑपरेटर विब्बी

मेरा टाइमस्टैम्प UTC प्रारूप में है। इसके लिए मुझे यहां कोई बदलाव करने की जरूरत है? मैं / पीएम कैसे कर सकता हूं?
कोडेक

पल.जे ऐसी छोटी सी बात के लिए वाया ओवरकिल है और आपके प्रदर्शन को प्रभावित करेगा। इसके बजाय देशी तरीकों का प्रयोग करें, cf. डैन अल्बोटीनू का जवाब
रॉबिन मेट्रल

22

1 जनवरी 1970 ( विकिपीडिया के अनुसार ) पर 00:00:00 UTC के बाद से UNIX टाइमस्टैम्प सेकंड की संख्या है ।

जावास्क्रिप्ट में दिनांक वस्तु का तर्क 1 जनवरी, 1970 को 00:00:00 यूटीसी के बाद से मील के पत्थर की संख्या है ( W3Schools जावास्क्रिप्ट दस्तावेज़ के अनुसार )।

उदाहरण के लिए नीचे कोड देखें:

    function tm(unix_tm) {
        var dt = new Date(unix_tm*1000);
        document.writeln(dt.getHours() + '/' + dt.getMinutes() + '/' + dt.getSeconds() + ' -- ' + dt + '<br>');

    }

tm(60);
tm(86400);

देता है:

1/1/0 -- Thu Jan 01 1970 01:01:00 GMT+0100 (Central European Standard Time)
1/0/0 -- Fri Jan 02 1970 01:00:00 GMT+0100 (Central European Standard Time)

19

hh: mm: ss: variant: के रूप में सेकंड के लिए सबसे छोटा एक-लाइनर समाधान

console.log(new Date(1549312452 * 1000).toISOString().slice(0, 19).replace('T', ' '));
// "2019-02-04 20:34:12"


1
PHP यूनिक्स टाइमस्टैम्प के साथ इसका उपयोग करते समय मुझे किसी कारण से वास्तविक समय की तुलना में + 5h मिलता है: /
keanu_reeves

2
@keanu_reeves - लगता है कि आप पूर्वी अमेरिकी समय क्षेत्र में हैं और टाइमस्टैम्प UTC हैं। .Slice (0,19) को हटाने की कोशिश करें और मुझे लगता है कि आप परिणाम का समय क्षेत्र Z (ज़ुलु) देखेंगे।
बिटफीडलर

17

Moment.js का उपयोग करके , आप इस तरह समय और दिनांक प्राप्त कर सकते हैं:

var dateTimeString = moment(1439198499).format("DD-MM-YYYY HH:mm:ss");

और आप केवल इसका उपयोग करके समय प्राप्त कर सकते हैं:

var timeString = moment(1439198499).format("HH:mm:ss");

क्या आप जानते हैं कि यह पीछे की ओर कैसे करना है, जैसे कि इस प्रारूप को DD-MM-YYYY HH: mm: ss में परिवर्तित करना कुछ इस तरह है जैसे कि 1439198499 ??
केमट रोची

हाय केमत, आप इसे इस बयान के माध्यम से कर सकते हैं ('2009-07-15 00:00:00')। यूनिक्स ()
पीटर टी।

मेरा टाइमस्टैम्प UTC प्रारूप में है। किसी भी अंतर मैं यहाँ उसके लिए बनाने की जरूरत है? मैं / पीएम कैसे कर सकता हूं?
कोडेक

आप आसानी से टाइमस्टैम्प को डेट यूजेज क्षणों में बदल सकते हैं, आप इस कोडर्सज़ाइन को देखें ।concon
javascript

15

उपर्युक्त समाधानों के साथ समस्या यह है कि यदि घंटा, मिनट या सेकंड, केवल एक अंक (यानी 0-9) है, तो समय गलत होगा, जैसे यह 2: 3: 9 हो सकता है, लेकिन यह 02 होना चाहिए: 03:09।

इस पृष्ठ के अनुसार यह दिनांक के "toLocaleTimeString" विधि का उपयोग करने के लिए एक बेहतर समाधान प्रतीत होता है।


5
अधिकांश वेब समाधानों के लिए, यह सबसे सही उत्तर है, क्योंकि यह क्लाइंट के लोकेल का उपयोग करता है, जैसे 24h बनाम 12h am / pm प्रारूप। एक समय स्ट्रिंग के लिए, आप तब उपयोग करेंगे:date.toLocaleTimeString()
बच्ची

1
यह toTimeStringविधि से नहीं होगा । यहाँ देखें: stackoverflow.com/a/35890537/1249581
VisioN

14

दूसरा तरीका - एक आईएसओ 8601 तारीख से।

var timestamp = 1293683278;
var date = new Date(timestamp * 1000);
var iso = date.toISOString().match(/(\d{2}:\d{2}:\d{2})/)
alert(iso[1]);


मुझे "ऑब्जेक्ट ... कोई विधि नहीं है 'toISOString'"
अविराम

मेरा टाइमस्टैम्प UTC प्रारूप में है। किसी भी अंतर मैं यहाँ उसके लिए बनाने की जरूरत है? मैं / पीएम कैसे कर सकता हूं?
कोडेक

13

क्षण में आपको यूनिक्स टाइमस्टैम्प का उपयोग करना चाहिए:

var dateTimeString = moment.unix(1466760005).format("DD-MM-YYYY HH:mm:ss");

10

@ शोमरत के उत्तर के आधार पर, यहां एक स्निपेट है जो स्वचालित रूप से इस तरह से डेटाइम लिखता है (उत्तरों के लिए स्टैकऑवरफ्लो की तारीख के समान है:) answered Nov 6 '16 at 11:51:

today, 11:23

या

yersterday, 11:23

या (यदि आज के मुकाबले अलग लेकिन एक ही वर्ष)

6 Nov, 11:23

या (यदि आज की तुलना में एक और वर्ष)

6 Nov 2016, 11:23

function timeConverter(t) {     
    var a = new Date(t * 1000);
    var today = new Date();
    var yesterday = new Date(Date.now() - 86400000);
    var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
    var year = a.getFullYear();
    var month = months[a.getMonth()];
    var date = a.getDate();
    var hour = a.getHours();
    var min = a.getMinutes();
    if (a.setHours(0,0,0,0) == today.setHours(0,0,0,0))
        return 'today, ' + hour + ':' + min;
    else if (a.setHours(0,0,0,0) == yesterday.setHours(0,0,0,0))
        return 'yesterday, ' + hour + ':' + min;
    else if (year == today.getFullYear())
        return date + ' ' + month + ', ' + hour + ':' + min;
    else
        return date + ' ' + month + ' ' + year + ', ' + hour + ':' + min;
}

9

आधुनिक समाधान जिसे 40 KB लाइब्रेरी की आवश्यकता नहीं है:

Intl.DateTimeFormat डेट / टाइम फॉर्मेट करने का गैर-सांस्कृतिक रूप से साम्राज्यवादी तरीका है।

// Setup once
var options = {
    //weekday: 'long',
    //month: 'short',
    //year: 'numeric',
    //day: 'numeric',
    hour: 'numeric',
    minute: 'numeric',
    second: 'numeric'
},
intlDate = new Intl.DateTimeFormat( undefined, options );

// Reusable formatter
var timeStamp = 1412743273;
console.log( intlDate.format( new Date( 1000 * timeStamp ) ) );

के बारे में "गैर-सांस्कृतिक रूप से साम्राज्यवादी रास्ता" : क्या आप इसका मतलब यह नहीं "गैर सांस्कृतिक और गैर साम्राज्यवादी रास्ता" ?
पीटर मोर्टेंसन

दुर्भाग्य से यह विधि सफारी के अनुकूल नहीं है।
स्टीफन एस।

9

मेरे टाइमस्टैम्प को PHP बैकएंड से लाया जा रहा है। मैंने ऊपर दिए गए सभी तरीकों की कोशिश की और यह काम नहीं किया। मैं तब एक ट्यूटोरियल में काम कर रहा था:

var d =val.timestamp;
var date=new Date(+d); //NB: use + before variable name

console.log(d);
console.log(date.toDateString());
console.log(date.getFullYear());
console.log(date.getMinutes());
console.log(date.getSeconds());
console.log(date.getHours());
console.log(date.toLocaleTimeString());

ऊपर दिए गए तरीके इस परिणाम को उत्पन्न करेंगे

1541415288860
Mon Nov 05 2018 
2018 
54 
48 
13
1:54:48 PM

वहाँ तरीकों का एक गुच्छा है जो टाइमस्टैम्प के साथ पूरी तरह से काम करता है। खिचड़ी भाषा उन सभी को सूचीबद्ध करती है


8
function getTIMESTAMP() {
  var date = new Date();
  var year = date.getFullYear();
  var month = ("0" + (date.getMonth() + 1)).substr(-2);
  var day = ("0" + date.getDate()).substr(-2);
  var hour = ("0" + date.getHours()).substr(-2);
  var minutes = ("0" + date.getMinutes()).substr(-2);
  var seconds = ("0" + date.getSeconds()).substr(-2);

  return year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds;
}

//2016-01-14 02:40:01

ठीक काम करता है। धन्यवाद
व्लाद

6

कुछ उत्तरों के साथ शून्य समस्या पर ध्यान दें। उदाहरण के लिए, टाइमस्टैम्प 1439329773को गलती से बदल दिया जाएगा 12/08/2015 0:49

मैं इस समस्या को दूर करने के लिए निम्नलिखित का उपयोग करने पर सुझाव दूंगा:

var timestamp = 1439329773; // replace your timestamp
var date = new Date(timestamp * 1000);
var formattedDate = ('0' + date.getDate()).slice(-2) + '/' + ('0' + (date.getMonth() + 1)).slice(-2) + '/' + date.getFullYear() + ' ' + ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2);
console.log(formattedDate);

अब में परिणाम:

12/08/2015 00:49

5
// Format value as two digits 0 => 00, 1 => 01
function twoDigits(value) {
   if(value < 10) {
    return '0' + value;
   }
   return value;
}

var date = new Date(unix_timestamp*1000);
// display in format HH:MM:SS
var formattedTime = twoDigits(date.getHours()) 
      + ':' + twoDigits(date.getMinutes()) 
      + ':' + twoDigits(date.getSeconds());

मुझे नहीं लगता कि आपको एक अतिरिक्त, अलग फ़ंक्शन की आवश्यकता है, जब भी यह आवश्यक हो, शून्य के साथ एक नंबर प्राप्त करने के लिए - नीचे मेरा जवाब देखें।
ट्रेडर

2
@trejder, आपके उदाहरण में, आप तर्क को अलग करते हैं जबकि अतिरिक्त फ़ंक्शन के साथ आपके पास एक ही स्थान पर है। इसके अलावा, आप यहां दिनांक फंक्शनलन (जैसे गेटहॉर्स ()) को हमेशा दो बार ट्रिगर करते हैं - यह एक बार कॉल है। आप यह कभी नहीं जान सकते हैं कि कुछ लाइब्रेरी फंक्शन को फिर से निष्पादित किया जाना कितना भारी है (हालांकि मेरा मानना ​​है कि यह तारीखों के लिए हल्का है)।
13:18 बजे 13:18

4
function timeConverter(UNIX_timestamp){
 var a = new Date(UNIX_timestamp*1000);
     var hour = a.getUTCHours();
     var min = a.getUTCMinutes();
     var sec = a.getUTCSeconds();
     var time = hour+':'+min+':'+sec ;
     return time;
 }

4

तिथि / युग परिवर्तक देखें

आप की जरूरत है ParseInt, अन्यथा यह काम नहीं करेगा:


if (!window.a)
    window.a = new Date();

var mEpoch = parseInt(UNIX_timestamp);

if (mEpoch < 10000000000)
    mEpoch *= 1000;

------
a.setTime(mEpoch);
var year = a.getFullYear();
...
return time;

4

अपने टाइमस्टैम्प को HH:MM:SSप्रारूप में बदलने के लिए आप निम्न फ़ंक्शन का उपयोग कर सकते हैं :

var convertTime = function(timestamp, separator) {
    var pad = function(input) {return input < 10 ? "0" + input : input;};
    var date = timestamp ? new Date(timestamp * 1000) : new Date();
    return [
        pad(date.getHours()),
        pad(date.getMinutes()),
        pad(date.getSeconds())
    ].join(typeof separator !== 'undefined' ?  separator : ':' );
}

विभाजक को पारित किए बिना, यह :(डिफ़ॉल्ट) विभाजक के रूप में उपयोग करता है :

time = convertTime(1061351153); // --> OUTPUT = 05:45:53

यदि आप /एक विभाजक के रूप में उपयोग करना चाहते हैं , तो बस इसे दूसरे पैरामीटर के रूप में पास करें:

time = convertTime(920535115, '/'); // --> OUTPUT = 09/11/55

डेमो

var convertTime = function(timestamp, separator) {
    var pad = function(input) {return input < 10 ? "0" + input : input;};
    var date = timestamp ? new Date(timestamp * 1000) : new Date();
    return [
        pad(date.getHours()),
        pad(date.getMinutes()),
        pad(date.getSeconds())
    ].join(typeof separator !== 'undefined' ?  separator : ':' );
}

document.body.innerHTML = '<pre>' + JSON.stringify({
    920535115 : convertTime(920535115, '/'),
    1061351153 : convertTime(1061351153, ':'),
    1435651350 : convertTime(1435651350, '-'),
    1487938926 : convertTime(1487938926),
    1555135551 : convertTime(1555135551, '.')
}, null, '\t') +  '</pre>';

इस फिडल को भी देखें ।


3

 function getDateTimeFromTimestamp(unixTimeStamp) {
        var date = new Date(unixTimeStamp);
        return ('0' + date.getDate()).slice(-2) + '/' + ('0' + (date.getMonth() + 1)).slice(-2) + '/' + date.getFullYear() + ' ' + ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2);
      }

    var myTime = getDateTimeFromTimestamp(1435986900000);
    console.log(myTime); // output 01/05/2000 11:00


यह एक यूनिक्स टाइमस्टैम्प नहीं है: 1435986900000 / यह एक यूनिक्स टाइमस्टैम्प है: 1435986900
ओरिकी

यह समाधान मेरे लिए काम करता है लेकिन मैं नंबर की जगह फरवरी मार्च को कैसे ले सकता हूं?
abidinberkay

2

यदि आप यूनिक्स समय अवधि को वास्तविक घंटे, मिनट और सेकंड में परिवर्तित करना चाहते हैं, तो आप निम्नलिखित कोड का उपयोग कर सकते हैं:

var hours = Math.floor(timestamp / 60 / 60);
var minutes = Math.floor((timestamp - hours * 60 * 60) / 60);
var seconds = Math.floor(timestamp - hours * 60 * 60 - minutes * 60 );
var duration = hours + ':' + minutes + ':' + seconds;

1
function getDateTime(unixTimeStamp) {

    var d = new Date(unixTimeStamp);
    var h = (d.getHours().toString().length == 1) ? ('0' + d.getHours()) : d.getHours();
    var m = (d.getMinutes().toString().length == 1) ? ('0' + d.getMinutes()) : d.getMinutes();
    var s = (d.getSeconds().toString().length == 1) ? ('0' + d.getSeconds()) : d.getSeconds();

    var time = h + '/' + m + '/' + s;

    return time;
}

var myTime = getDateTime(1435986900000);
console.log(myTime); // output 01/15/00

1

नीचे कोड भी 3-अंकीय मिलीसेक प्रदान करता है, कंसोल लॉग उपसर्गों के लिए आदर्श:

const timeStrGet = date => {
    const milliSecsStr = date.getMilliseconds().toString().padStart(3, '0') ;
    return `${date.toLocaleTimeString('it-US')}.${milliSecsStr}`;
};

setInterval(() => console.log(timeStrGet(new Date())), 299);


1

moment.js

js में टाइमस्टैम्प को डेट स्ट्रिंग में परिवर्तित करें

https://momentjs.com/

moment().format('YYYY-MM-DD hh:mm:ss');
// "2020-01-10 11:55:43"

moment(1578478211000).format('YYYY-MM-DD hh:mm:ss');
// "2020-01-08 06:10:11"


वैकल्पिक विकल्प day.js github.com/iamkun/dayjs
xgqfrms

1

@ एरन द्वारा दिया गया जवाब काम करता है, लेकिन यह मेरे लिए काम नहीं करता था क्योंकि मैं टाइमस्टैम्प को 1980 से शुरू करने की कोशिश कर रहा था। इसलिए मैंने कुछ बदलाव किए हैं

function ConvertUnixTimeToDateForLeap(UNIX_Timestamp) {
    var dateObj = new Date(1980, 0, 1, 0, 0, 0, 0);
    dateObj.setSeconds(dateObj.getSeconds() + UNIX_Timestamp);
    return dateObj;  
}

document.body.innerHTML = 'TimeStamp : ' + ConvertUnixTimeToDateForLeap(1269700200);

इसलिए यदि आपके पास एक और दशक से शुरू होने वाला टाइमस्टैम्प है, तो बस इसका उपयोग करें। इसने मेरे लिए बहुत सारे सिरदर्द को बचा लिया।

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