মানব পাঠযোগ্য বিন্যাসে টাইমস্ট্যাম্প


90

জাভাস্ক্রিপ্ট ব্যবহার করে ইউনিক্স টাইমস্ট্যাম্প থেকে মানব প্রতিনিধিতে রূপান্তর করার সময় আমার একটি আশ্চর্য সমস্যা রয়েছে strange

এখানে টাইমস্ট্যাম্প

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

আমি আশা করেছি ফলাফলটি ২০১১ 2, 25 22 00 00 হবে। তবে এটি 2011, 2, 6, 0, 0, 0 আমি কী মিস করছি?


4
এটি কি এই সহায়তা করে: stackoverflow.com/questions/847185/…
জেমস হুলস

আমি যা করি তা একই
জর্জিভিচ

আমি এটি ফায়ারফক্স ফায়ারব্যাগ কনসোলে চেষ্টা করেছি এবং প্রত্যাশিত ফলাফল পেয়েছি। আপনি কোন ব্রাউজার / ওএস ব্যবহার করছেন?
অ্যান্ড্রুমু

আমি একটি জিসফিল তৈরি করেছি এবং এটি দুর্দান্ত কাজ করছে বলে মনে হচ্ছে: jsfiddle.net/9SUqX (আমি অপেরাতে পরীক্ষা করেছি)
জেমস হুলস

এখানে আমি যা পেয়েছি img841.imageshack.us/i/screenhot20110324at113.png
জর্জিভিচ

উত্তর:


102

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]

4
আপনার তারিখের জন্য সাহায্যের পরামর্শ, তবে আমি ঘন্টা, মিনিট এবং সেকেন্ডের মধ্যে কী ভুল তা এখনও বুঝতে পারি না
জর্জিভিচ

7
@ জর্জি আপনি কিছুই মিস করবেন না এই মানগুলি পূর্ণসংখ্যা, তাই "00" এর মতো মান থাকতে পারে না। আপনি এটিকে সহজেই সংযোজন করতে পারেন উদাহরণস্বরূপminute = (minute < 10 ? "0" : "") + minute;
শ্যাডো উইজার্ড 9

@ জর্জেভিচ: আপনি কোন সময় অঞ্চলে? আপনি যদি ব্যবহার করেন তবে কী হবে date.getUTCHours()?
KooiInc

4
GMT + 2 তারিখ.জেটচোর্সের ফলাফল () 19
জর্জিভিচ

GMT + 2, সুতরাং 22 ঘন্টা সর্বজনীন সময় = 0 ঘন্টা আপনার সময়। ইউটিসি-মানগুলি ব্যবহার করে এখানে একটি জাসফিডাল রয়েছে: jsfiddle.net/EZFG9
KooiInc

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

unixtimeআপনার এসকিএল ডিবি দ্বারা ফিরে আসা সময়টি কোথায় ? যদি এটি সাহায্য করে তবে এখানে একটি বেহুদা রয়েছে

উদাহরণস্বরূপ, বর্তমান সময়ের জন্য এটি ব্যবহার:

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


আমি এই উত্তর, এবং গ্রহণযোগ্য আনোয়ার এখানে পাওয়া [* .toString ()] উপযোগী হতে হবে: stackoverflow.com/questions/13622142/... এখানে একটি সারকথা হল: gist.github.com/victoriastuart/b9fb09b890ef88755538b24b0207fece
ভিক্টোরিয়া স্টুয়ার্ট

4
"unixtime is undefined"আমি এখানে যা পাচ্ছি তা হল
কেটি

4
যাইহোক, সহজেই অনিলাইনারে পরিণত করা যেতে পারেnew Date(1480966325 * 1000).toUTCString()
রোজক্যালেন্স

9

এখানে কোলঙ্কের উত্তর ডাব্লু / প্যাডেড 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 (ইউএসটি) এ এটি 22:00:00 কিন্তু বিভিন্ন টাইম জোনে এটি যে কোনও কিছু হতে পারে। GMT তারিখটি তৈরি করতে টাইমজোনটিকে অফসেটের সময় হিসাবে যুক্ত করুন:

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

টাইমস্ট্যাম্প 1000 বার কেন?
ব্রুনো গোমেস

4
@ ব্রুনোগোমস তিনি ধরে নিচ্ছেন যে টাইমস্ট্যাম্পটি সেকেন্ডের মধ্যে রয়েছে, যখন জাভাস্ক্রিপ্ট তাদের মিলিসেকেন্ডে করে।
ব্রেন্ট

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.