কীভাবে ইউনিক্স টাইমস্ট্যাম্পকে ক্যালেন্ডারের তারিখের মুহূর্তে রূপান্তর করতে হয়


141

আমার একটি ইউনিক্স টাইমস্ট্যাম্প রয়েছে এবং আমি এটিকে একটি ক্যালেন্ডারের তারিখে রূপান্তর করার চেষ্টা করছি MM/DD/YYYY। এখনও অবধি আমার কাছে এটি রয়েছে:

$(document).ready(function() {
  var value = $("#unixtime").val(); //this retrieves the unix timestamp
  var dateString = moment(value).calendar(); 
  alert(dateString);
});

আমি যখন ক্যালেন্ডারের তারিখ মুদ্রণ করার চেষ্টা করি তখন উইন্ডোটি "অবৈধ তারিখ" বলে। যে কেউ আমাকে সাহায্য করতে পারেন?

উত্তর:


364

আপনি যেমন জিজ্ঞাসা করেছেন moment.js ব্যবহার করে, একটি unixপদ্ধতি রয়েছে যা সেকেন্ডে ইউনিক্স টাইমস্ট্যাম্পগুলি গ্রহণ করে:

var dateString = moment.unix(value).format("MM/DD/YYYY");

3
এটি কোনও ক্যালেন্ডারের তারিখ নয়।
ইয়ান ওয়ারবার্টন

1
@ আইয়ান ওয়ার্ববার্টন - তাই না ??
ম্যাট জনসন-পিন্ট

আমি মনে করি এটি প্রশ্ন অনুসারে হয়। তবে আমি মনে করি মুহুর্তে একটি ক্যালেন্ডার তারিখ.জেএস এর মতো দেখাচ্ছে .... মুহুর্ত (নতুন তারিখ (আইটেম.ডেট)) ক্যালেন্ডার ()
ইয়ান ওয়ারবার্টন

5
@ আইয়ান ওয়ারবার্টন - আপনার সেখানে নতুন তারিখের প্রয়োজন হবে না। calendarফাংশন চমৎকার (হয় ডক্স এখানে ), কিন্তু বিন্যাসে ওপি চাইলেন না।
ম্যাট জনসন-পিন্ট

1
প্রশ্নটি কেন ব্যর্থ হয় তবে এটি কাজ করে এটি মূল্যবান। কারণ কারণ monent(number) একটি UNIX টাইমস্ট্যাম্প আশা Milli সেকেন্ড (যা সঙ্গে সামঞ্জস্যপূর্ণ Date, বস্তুর) যেহেতু UNIX টাইমস্ট্যাম্প ডিফল্টরূপে সেকেন্ডের মধ্যে হয়। সুতরাং আপনি moment(value*1000)পরিবর্তে করতে পারেন moment.unix(value), কিন্তু ব্যবহার unixপরিষ্কার হয়।
icc97

39

UNIX টাইমস্ট্যাম্প এটি 1970 থেকে সেকেন্ডের গণনা, সুতরাং আপনি এটি জেএস তারিখ অবজেক্টে রূপান্তর করতে হবে:

var date = new Date(unixTimestamp*1000);

হ্যাঁ, এটি মুহূর্তের সর্বশেষতম সংস্করণ সহ সমাধান ছিল, বা কমপক্ষে একটি এনএমপি থেকে সম্প্রতি পেয়েছি। যদিও আমি আবার ইউনিক্স () পেয়েছি মুহুর্ত থেকে আমাকে আবার 1000 ইনস্টল করার সময় * 1000 ডলার করতে হয়েছিল। উদাহরণস্বরূপ: মুহূর্ত (মুহূর্ত ()। ইউনিক্স () * 1000)
ক্রো

Moment.js যুক্তির তুলনায় সেরা উত্তর
অ্যান্ডিস


4
new moment(timeStamp,'yyyyMMddHHmmssfff').toDate()

9
এই কোডটি প্রশ্নের উত্তর দিতে পারে, তবে কিছু প্রসঙ্গ অন্তর্ভুক্ত করা, এটি কীভাবে কাজ করে তা ব্যাখ্যা করা এবং এটি কখন ব্যবহার করবেন তা বর্ণনা করা ভাল। কোড-কেবল উত্তরগুলি দীর্ঘমেয়াদে কার্যকর নয়। অতিরিক্তভাবে, আপনার কোডটি সঠিকভাবে ফর্ম্যাট হয় না।
ryanyuyu


3

একটু দেরি হতে পারে তবে নতুন সমস্যার জন্য আমি এই কোডটি ব্যবহার করি:

moment(timestamp, 'X').format('lll');

আপনি আপনার প্রয়োজনগুলি মেলে ফর্ম্যাটটি পরিবর্তন করতে পারেন এবং এই জাতীয় টাইমজোন যুক্ত করতে পারেন:

moment(timestamp, 'X').tz(timezone).format('lll');

1
এটি আমি এখানে দেখেছি সেরা পদ্ধতি।
লুকভেন্টার

1
কেবলমাত্র এই উত্তরে যুক্ত করতে (যা এখানে সবচেয়ে সঠিক উত্তর)। xএমএস ইউনিক্স টাইমস্ট্যাম্পের জন্য ছোট হাতের ব্যবহার করুন । এখানে ডকুমেন্টেশন
জোনট্রনকসো


0
$(document).ready(function() {
    var value = $("#unixtime").val(); //this retrieves the unix timestamp
    var dateString = moment(value, 'MM/DD/YYYY', false).calendar(); 
    alert(dateString);
});

একটি কঠোর মোড এবং একটি ক্ষমা মোড আছে

বেশিরভাগ পরিস্থিতিতে কঠোর মোড আরও ভাল কাজ করার সময়, ক্ষণস্থায়ী মোডটি খুব কার্যকর হতে পারে যখন স্ট্রিংয়ের মুহুর্তে বিন্যাসের বিন্যাসটি আলাদা হতে পারে।

পরবর্তী প্রকাশে, পার্সার কঠোর মোড ব্যবহার করে ডিফল্ট হবে। পৃথককারীগুলি সহ নির্দিষ্ট ফর্ম্যাটের সাথে হুবহু মেশার জন্য কঠোর মোডের মুহুর্তের ইনপুট দরকার। মুহুর্তের ফাংশনটিতে তৃতীয় প্যারামিটার হিসাবে সত্য পাস করে কঠোর মোড সেট করা হয়।

একটি সাধারণ পরিস্থিতি যেখানে ক্ষমা মোড কার্যকর হয় এমন পরিস্থিতিতে হ'ল তৃতীয় পক্ষের API এ তারিখ সরবরাহ করে এবং সেই API এর তারিখের ফর্ম্যাটটি পরিবর্তিত হতে পারে। মনে করুন যে কোনও এআইপি 'YYYY-MM-DD' ফর্ম্যাটে তারিখ প্রেরণে শুরু হয় এবং তারপরে পরে 'এমএম / ডিডি / ওয়াইওয়াইওয়াই' ফর্ম্যাটে পরিবর্তিত হয়।

কঠোর মোডে, নিম্নলিখিত কোডগুলি 'অবৈধ তারিখ' প্রদর্শিত হচ্ছে:

moment('01/12/2016', 'YYYY-MM-DD', true).format()
"Invalid date"

ফর্ম্যাট স্ট্রিং ব্যবহার করে ক্ষমা মোডে, আপনি একটি ভুল তারিখ পাবেন:

moment('01/12/2016', 'YYYY-MM-DD').format()
"2001-12-20T00:00:00-06:00"

অন্য উপায় হবে

$(document).ready(function() {
    var value = $("#unixtime").val(); //this retrieves the unix timestamp
    var dateString = moment.unix(value).calendar(); 
    alert(dateString);
});

0

এই ফাংশনটি টাইমস্ট্যাম্প থেকে তারিখ তৈরি করে:

    function formatDateTime(dateString) {
        const parsed = moment(new Date(dateString))

        if (!parsed.isValid()) {
            return dateString
        }

        return parsed.format('MMM D, YYYY, HH:mmA')
    }


0
moment(timestamp).format('''any format''')

3
এই কোডটি ওপির সমস্যার সমাধান করতে পারে তবে আপনার কোডটি কীভাবে ওপি'র সমস্যাটিকে সম্বোধন করে সে সম্পর্কে একটি ব্যাখ্যা অন্তর্ভুক্ত করা ভাল। এইভাবে, ভবিষ্যতের দর্শনার্থীরা আপনার পোস্ট থেকে শিখতে পারবেন এবং এটিকে তাদের নিজস্ব কোডে প্রয়োগ করতে পারেন। এসও কোনও কোডিং পরিষেবা নয়, তবে জ্ঞানের সংস্থান। এছাড়াও, উচ্চ মানের, সম্পূর্ণ উত্তরগুলি আপলোড হওয়ার সম্ভাবনা বেশি। এই বৈশিষ্ট্যগুলি সহ সমস্ত পোস্ট স্বাবলম্বিত হওয়ার প্রয়োজনীয়তার সাথে একটি প্ল্যাটফর্ম হিসাবে এসও এর কিছু শক্তি যা এটি ফোরামে পৃথক করে। আপনি অতিরিক্ত তথ্য যোগ করতে এবং / অথবা উত্স নথির সাথে আপনার ব্যাখ্যা পরিপূরক করতে সম্পাদনা করতে পারেন।
ysf
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.