[Javascript] जावास्क्रिप्ट में समय पर यूनिक्स टाइमस्टैम्प को कनवर्ट करें


Answers

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;
}
Question

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

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




मैं Moment.js जैसी लाइब्रेरी का उपयोग करने के बारे में Moment.js , जो यह वास्तव में सरल बनाता है:

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

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") );



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



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;
 }



आप अपने टाइमस्टैम्प को HH:MM:SS परिवर्तित करने के लिए निम्न फ़ंक्शन का उपयोग कर सकते हैं 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>';

यह पहेली भी देखें।




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

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



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

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

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

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



@ शोमरत के उत्तर के आधार पर, यहां एक स्निपेट है जो स्वचालित रूप से इस तरह डेटाटाइम लिखता है:

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;
}



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

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 ) ) );



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



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

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



Links