আমি মোমেন্ট.জেএস এর সাথে তারিখ থেকে কীভাবে সময় সরিয়ে ফেলতে পারি?


268
formatCalendarDate = function (dateTime) {
    return moment.utc(dateTime).format('LLL');
};

এটি প্রদর্শিত হয়: "28 ফেব্রুয়ারি 2013 09:24"

তবে আমি সময়টি অপসারণ করতে চাই। আমি এটা কিভাবে করবো?

আমি মোমেন্ট.জেএস ব্যবহার করছি


স্ট্রিংগুলি আলাদা করতে স্প্লিট পদ্ধতিটি ব্যবহার করুন
এমগেটস

উত্তর:


605

এত দেরিতে লাফিয়ে দুঃখিত, তবে আপনি যদি বিন্যাসের পরিবর্তে সময়ের অংশটি অপসারণ করতে চান তবে কোডটি হ'ল:moment()

.startOf('day')

তথ্যসূত্র: http://momentjs.com/docs/#/manipulating/start-of/


90
আপনি সময় অঞ্চলগুলির মধ্যে যাচ্ছেন (বা আপনি যদি সময়সীমার দিকে মনোযোগ দিচ্ছেন না) তবে এটির সাথে সতর্ক থাকুন। আমার একটি সমস্যা ছিল যেখানে আমার ইউটিসির তারিখটি স্থানীয় সময় রূপান্তরিত হচ্ছে, তারপরে আবেদন করা startOf('day')যা পূর্ববর্তী দিনের শুরু। সঙ্গে ফিক্সডmoment(moment.utc('2013-10-29T00:00:00+00:00').startOf('day').format('LL')).startOf('day').toDate()
colllin

26
এছাড়াও সাবধান হন যে এই ফাংশনটি আসল অবজেক্টটিকে পরিবর্তিত করে
ডার্ক বোয়ার

6
.startOf('day')প্রতি সেটের সময় অংশটি সরিয়ে দেয় না, এটি কেবল সময় 00:00:00 এ সেট করে। সুতরাং, হ্যাঁ, 'কলিন' দ্বারা মন্তব্য করা হয়েছে, তারিখ সংরক্ষণ করার সময় আপনাকে সতর্কতা অবলম্বন করতে হবে। format('LL')এই থ্রেডে উত্তর হিসাবে দেওয়া হয়েছে আরও ভাল বিকল্প ব্যবহার করা হচ্ছে ।
সুদর্শন_এসএমডি

4
আসল অবজেক্টটি পরিবর্তন করতে এড়াতে, ব্যবহার করুন someMoment.clone().startOf('day')বা moment(someMoment).startOf('day')
প্যাং

সতর্কতা অবলম্বন করুন, স্টার্টঅফ ('দিন') সবকিছু পুনরায় সেট করবে এবং কেবল সময়কে 00:00:00 এ সেট করবে না। moment().utc().add(1,'d').startOf('day')আজকে বস্তুটিকে পুনরায় সেট করবে।
ত্রিস্তান

49

ব্যবহার format('LL')

আপনি এটির সাথে কী করার চেষ্টা করছেন তার উপর নির্ভর করে format('LL')কৌতুকটি করতে পারে। এটি এরকম কিছু উত্পাদন করে:

Moment().format('LL'); // => April 29, 2016

26

সঠিক উপায়টি হ'ল আপনার প্রয়োজনীয়তা অনুযায়ী ইনপুট নির্দিষ্ট করা যা আপনাকে আরও নমনীয়তা দেবে।

বর্তমান সংজ্ঞা নিম্নলিখিত অন্তর্ভুক্ত

LTS : 'h:mm:ss A', LT : 'h:mm A', L : 'MM/DD/YYYY', LL : 'MMMM D, YYYY', LLL : 'MMMM D, YYYY h:mm A', LLLL : 'dddd, MMMM D, YYYY h:mm A'

আপনি এর মধ্যে যে কোনওটি ব্যবহার করতে পারেন বা মুহূর্তের () বিন্যাসে () রূপান্তরিত ইনপুটটি পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, আপনার ক্ষেত্রে আপনি পাস করতে পারেন moment.utc(dateTime).format('MMMM D, YYYY')




6

Moment.js এর নতুন সংস্করণগুলির সাথে আপনি এটিও করতে পারেন:

var dateTime = moment();

var dateValue = moment({
    year: dateTime.year(),
    month: dateTime.month(),
    day: dateTime.date()
});

দেখুন: http://momentjs.com/docs/#/parsing/object/


এর date: dateTime.date()বদলে হবে না day: dateTime.date()?
ফিলফ্রেও

1
'দিন এবং তারিখ কী উভয়ই মাসের মাসের মানে' ' ডক্স থেকে dayপ্রাক সংস্করণ 2.8.4 কাজ করে।
ওল্ড উইজার্ড

6

ঠিক আছে, তাই আমি জানি পার্টিতে আমি অনেক দেরি করেছি। Years বছর দেরীতে লেগেছে তবে এটি YYYY-MM-DD ফর্ম্যাট করার জন্য আমার দরকার ছিল।

moment().format(moment.HTML5_FMT.DATE); // 2019-11-08

আপনি যেমন একটি প্যারামিটারে পাস করতে পারেন 2019-11-08T17:44:56.144

moment("2019-11-08T17:44:56.144").format(moment.HTML5_FMT.DATE); // 2019-11-08

https://momentjs.com/docs/#/parsing/special-formats/


4

আমি যখনই moment.jsলাইব্রেরিটি ব্যবহার করি তখনই আমি পছন্দসই বিন্যাসটি এভাবে নির্দিষ্ট করি:

moment(<your Date goes here>).format("DD-MMM-YYYY")

অথবা

moment(<your Date goes here>).format("DD/MMM/YYYY")

... ইত্যাদি আমি আশা করি আপনি ধারণা পাবেন

ফর্ম্যাট ফাংশনের অভ্যন্তরে, আপনি পছন্দসই বিন্যাসটি রেখেছেন। উপরের উদাহরণটি সমস্ত অযাচিত উপাদানগুলি যেমন তারিখ থেকে মিনিট এবং সেকেন্ড থেকে মুক্তি পাবে


আপনি যদি নিজের লিখিত সামগ্রীটি বিভিন্ন লোকালয়ে প্রদর্শিত করতে চান তবে এটি কোনও ভাল ধারণা নয়। আপনাকে ব্যবহারকারীর লোকেলের জন্য সঠিক বিন্যাসে প্রদর্শন তারিখ চান, আপনি প্রিসেট তারিখ ফরম্যাটের এক (ব্যবহার করতে হবে L, LLইত্যাদি)
এজে রিচার্ডসন

কেন আপনি তিনবার এমএমএম সেট করলেন।
মেনাই আলা এডিন - 24:53 এ আলাদিন

এমএমএম আপনাকে মাসের 3 টি প্রথম চিঠি দেবে। 'এপ্রিল' এমএমএমএম আপনাকে একটি পুরো মাসের নাম দেবে
অ্যাড্রিয়ান গ্রজিওয়াচেজুস্কি

4

আমার মতো লোকেরা দীর্ঘ তারিখের ফর্ম্যাটটি চায় ( LLLL) তবে দিনের সময় ব্যতীত তার জন্য একটি গিটহাব ইস্যু রয়েছে: https://github.com/moment/moment/issues/2505 । আপাতত, এখানে একটি কার্যনির্বাহী কাজ রয়েছে:

var localeData = moment.localeData( moment.locale() ),
    llll = localeData.longDateFormat( 'llll' ),
    lll = localeData.longDateFormat( 'lll' ),
    ll = localeData.longDateFormat( 'll' ),
    longDateFormat = llll.replace( lll.replace( ll, '' ), '' );
var formattedDate = myMoment.format(longDateFormat);

1
অবশেষে একটি বুদ্ধিমান উত্তর। আমার উপনোট স্যার নিন! এখনও বিষয়টি মনে হচ্ছে না।
ওয়ালহি

3

আপনি এই নির্মাণকারী ব্যবহার করতে পারেন

moment({h:0, m:0, s:0, ms:0})

http://momentjs.com/docs/#/parsing/object/

console.log( moment().format('YYYY-MM-DD HH:mm:ss') )

console.log( moment({h:0, m:0, s:0, ms:0}).format('YYYY-MM-DD HH:mm:ss') )
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>


এখানে কিছু আকরিক বিবরণ যুক্ত করুন
ম্যাথিউজ সানি

এটা মজার! এটি একটি মুহূর্ত তৈরি করছে এবং ঘন্টা, মিনিট এবং সেকেন্ডকে ওভাররাইড করে তবে তবুও আন্ডারলিংয়ের তারিখটি রাখে। আকর্ষণীয় কারণ আমি অনুমান করতে moment({h:0, m:0, s:0, ms:0})পারতাম যে আমাকে আজকের চেয়ে 1 ই 1970 দেবে।
সাইমন_উইভার

দেখতেও moment({ h: 0 })একই রকম হয়।
সাইমন_উইভার

1
দস্তাবেজগুলি বলেছেনOmitted units default to 0 or the current date, month, and year.
সাইমন_উইভার

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