javascript - जावास्क्रिप्ट में समय पर यूनिक्स टाइमस्टैम्प को कनवर्ट करें




date time (15)

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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;

यूनिक्स टाइमस्टैम्प 00:00:00 यूटीसी के बाद से 1 जनवरी, 1 9 70 ( Wikipedia अनुसार) सेकंड्स की संख्या है।

जावास्क्रिप्ट में डेट ऑब्जेक्ट का तर्क 1 जनवरी 1 9 70 को 00:00:00 यूटीसी के बाद से मिलीसेकंड की संख्या है ( डब्ल्यू 3 स्कूल्स जावास्क्रिप्ट दस्तावेज के अनुसार)।

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

    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)

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

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

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

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

 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

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

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


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

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







date-format