নোডজেএস ব্যবহার করে, আমি Date
নিম্নলিখিত স্ট্রিং বিন্যাসে একটি ফর্ম্যাট করতে চাই :
var ts_hms = new Date(UTC);
ts_hms.format("%Y-%m-%d %H:%M:%S");
আমি কেমন করে ঐটি করি?
নোডজেএস ব্যবহার করে, আমি Date
নিম্নলিখিত স্ট্রিং বিন্যাসে একটি ফর্ম্যাট করতে চাই :
var ts_hms = new Date(UTC);
ts_hms.format("%Y-%m-%d %H:%M:%S");
আমি কেমন করে ঐটি করি?
উত্তর:
আপনি যদি নোড.জেএস ব্যবহার করছেন তবে আপনার অবশ্যই ইকামাস্ক্রিপ্ট 5 রয়েছে, এবং তাই তারিখটির একটি toISOString
পদ্ধতি রয়েছে। আপনি আইএসও 8601 এর সামান্য পরিবর্তন চাইছেন:
new Date().toISOString()
> '2012-11-04T14:51:06.157Z'
সুতরাং কিছু জিনিস কেটে ফেলুন, এবং আপনি সেট করেছেন:
new Date().toISOString().
replace(/T/, ' '). // replace T with a space
replace(/\..+/, '') // delete the dot and everything after
> '2012-11-04 14:55:45'
বা, এক লাইনে: new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')
ISO8601 অবশ্যই ইউটিসি (প্রথম ফলাফলের পিছনে জেড দ্বারা নির্দেশিত), তাই আপনি ডিফল্টরূপে ইউটিসি পান (সর্বদা একটি ভাল জিনিস)।
Object has no method 'toISOString'
আপনি মিস করেছেনnew
new Date().toISOString().replace('T', ' ').substr(0, 19)
ঠিক কাজ করে।
আপডেট ২০১-0-০৩-২৯: তারিখ-এফএনএস, মুহুর্ত এবং তারিখ সম্পর্কিত কিছু নোটগুলি
আপডেট করা হয়েছে ২০১ 2016-০9-২০১।: যুক্ত করা সুগারজেএস যা কিছু দুর্দান্ত তারিখ / সময় ফাংশন বলে মনে হচ্ছে।
ঠিক আছে, যেহেতু কেউই প্রকৃত উত্তর সরবরাহ করেনি, তাই এটি আমার।
একটি স্ট্যান্ডার্ড উপায়ে তারিখ এবং সময় পরিচালনা করার জন্য একটি গ্রন্থাগার অবশ্যই সেরা বাজি। তারিখ / সময় গণনাগুলিতে প্রচুর প্রান্তের কেস রয়েছে তাই বিকাশটিকে কোনও লাইব্রেরিতে হ্যান্ড-অফ করতে সক্ষম হওয়া কার্যকর।
এখানে মূল নোডের সামঞ্জস্যপূর্ণ টাইম ফর্ম্যাটিং লাইব্রেরির একটি তালিকা রয়েছে:
নোড নন গ্রন্থাগারগুলিও রয়েছে:
রূপান্তরকরণের জন্য একটি গ্রন্থাগার রয়েছে:
npm install dateformat
তারপরে আপনার প্রয়োজনীয়তা লিখুন:
var dateFormat = require('dateformat');
তারপরে মানটি বাঁধুন:
var day=dateFormat(new Date(), "yyyy-mm-dd h:MM:ss");
দেখতে dateformat
result.request_date
?
আমার সাধারণভাবে গ্রন্থাগারের বিরুদ্ধে কিছু নেই। এক্ষেত্রে সাধারণ উদ্দেশ্য গ্রন্থাগারটি অতিমাত্রায় মনে হয়, যদি না অ্যাপ্লিকেশন প্রক্রিয়ার অন্যান্য অংশগুলি খুব বেশি তারিখের হয়।
এর মতো ছোট্ট ইউটিলিটি ফাংশনগুলি রচনাও উভয় প্রারম্ভিক এবং দক্ষ প্রোগ্রামারদের জন্য একটি দরকারী অনুশীলন এবং আমাদের মধ্যে নবীনীদের জন্য একটি শেখার অভিজ্ঞতা হতে পারে।
function dateFormat (date, fstr, utc) {
utc = utc ? 'getUTC' : 'get';
return fstr.replace (/%[YmdHMS]/g, function (m) {
switch (m) {
case '%Y': return date[utc + 'FullYear'] (); // no leading zeros required
case '%m': m = 1 + date[utc + 'Month'] (); break;
case '%d': m = date[utc + 'Date'] (); break;
case '%H': m = date[utc + 'Hours'] (); break;
case '%M': m = date[utc + 'Minutes'] (); break;
case '%S': m = date[utc + 'Seconds'] (); break;
default: return m.slice (1); // unknown code, remove %
}
// add leading zero if required
return ('0' + m).slice (-2);
});
}
/* dateFormat (new Date (), "%Y-%m-%d %H:%M:%S", true) returns
"2012-05-18 05:37:21" */
কোনও পাঠাগার ব্যবহার না করে আপনার কাঙ্ক্ষিত বিন্যাসে টাইমস্ট্যাম্প পাওয়ার জন্য সহজেই পঠনযোগ্য এবং কাস্টমাইজ করার উপায়:
function timestamp(){
function pad(n) {return n<10 ? "0"+n : n}
d=new Date()
dash="-"
colon=":"
return d.getFullYear()+dash+
pad(d.getMonth()+1)+dash+
pad(d.getDate())+" "+
pad(d.getHours())+colon+
pad(d.getMinutes())+colon+
pad(d.getSeconds())
}
(আপনার যদি ইউটিসি ফর্ম্যাটে সময় প্রয়োজন হয় তবে কেবলমাত্র ফাংশন কলগুলি পরিবর্তন করুন For উদাহরণস্বরূপ "getMonth" "getUTCMonth" হয়ে যায়)
জাভাস্ক্রিপ্ট লাইব্রেরি সুগার.জেএস ( http://sugarjs.com/ ) এর তারিখগুলির বিন্যাস করার ফাংশন রয়েছে
উদাহরণ:
Date.create().format('{dd}/{MM}/{yyyy} {hh}:{mm}:{ss}.{fff}')
তারিখ অবজেক্টে প্রদত্ত পদ্ধতিটি নিম্নরূপ ব্যবহার করুন:
var ts_hms = new Date();
console.log(
ts_hms.getFullYear() + '-' +
("0" + (ts_hms.getMonth() + 1)).slice(-2) + '-' +
("0" + (ts_hms.getDate())).slice(-2) + ' ' +
("0" + ts_hms.getHours()).slice(-2) + ':' +
("0" + ts_hms.getMinutes()).slice(-2) + ':' +
("0" + ts_hms.getSeconds()).slice(-2));
এটি দেখতে সত্যিই নোংরা, তবে এটি জাভাস্ক্রিপ্ট মূল পদ্ধতিগুলির সাথে সূক্ষ্মভাবে কাজ করা উচিত
আমি ব্যবহার করছি dateformat Nodejs এবং angularjs, তাই ভাল এ
ইনস্টল
$ npm install dateformat
$ dateformat --help
ডেমো
var dateFormat = require('dateformat');
var now = new Date();
// Basic usage
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
// Saturday, June 9th, 2007, 5:46:21 PM
// You can use one of several named masks
dateFormat(now, "isoDateTime");
// 2007-06-09T17:46:21
// ...Or add your own
dateFormat.masks.hammerTime = 'HH:MM! "Can\'t touch this!"';
dateFormat(now, "hammerTime");
// 17:46! Can't touch this!
// You can also provide the date as a string
dateFormat("Jun 9 2007", "fullDate");
// Saturday, June 9, 2007
...
new Date(2015,1,3,15,30).toLocaleString()
//=> 2015-02-03 15:30:00
3.2.2015, 15:30:00
বিকল্প # 6233 ....
স্থানীয় সময়ে ইউটিসি অফসেট যুক্ত করুন এবং তারপরে অবজেক্টের toLocaleDateString()
পদ্ধতিতে এটি পছন্দসই বিন্যাসে রূপান্তর করুন Date
:
// Using the current date/time
let now_local = new Date();
let now_utc = new Date();
// Adding the UTC offset to create the UTC date/time
now_utc.setMinutes(now_utc.getMinutes() + now_utc.getTimezoneOffset())
// Specify the format you want
let date_format = {};
date_format.year = 'numeric';
date_format.month = 'numeric';
date_format.day = '2-digit';
date_format.hour = 'numeric';
date_format.minute = 'numeric';
date_format.second = 'numeric';
// Printing the date/time in UTC then local format
console.log('Date in UTC: ', now_utc.toLocaleDateString('us-EN', date_format));
console.log('Date in LOC: ', now_local.toLocaleDateString('us-EN', date_format));
আমি স্থানীয় সময়ে ডিফল্ট একটি তারিখ অবজেক্ট তৈরি করছি। আমি এটিতে ইউটিসি অফসেট যুক্ত করছি। আমি একটি তারিখ-বিন্যাস অবজেক্ট তৈরি করছি। আমি পছন্দসই বিন্যাসে ইউটিসি তারিখ / সময় প্রদর্শন করছি:
এক্স-ক্লাস লাইব্রেরিরx-date
উপ-মডিউলগুলির মধ্যে একটি যা মডিউল ব্যবহার করুন ;
require('x-date') ;
//---
new Date().format('yyyy-mm-dd HH:MM:ss')
//'2016-07-17 18:12:37'
new Date().format('ddd , yyyy-mm-dd HH:MM:ss')
// 'Sun , 2016-07-17 18:12:51'
new Date().format('dddd , yyyy-mm-dd HH:MM:ss')
//'Sunday , 2016-07-17 18:12:58'
new Date().format('dddd ddSS of mmm , yy')
// 'Sunday 17thth +0300f Jul , 16'
new Date().format('dddd ddS mmm , yy')
//'Sunday 17th Jul , 16'
new Date().toString("yyyyMMddHHmmss").
replace(/T/, ' ').
replace(/\..+/, '')
.toString () সহ, এটি ফর্ম্যাটে পরিণত হয়
প্রতিস্থাপন (/ টি /, '')। // টি কে '' 2017-01-15T এ প্রতিস্থাপন করুন ...
(/..+/, '') // এর জন্য প্রতিস্থাপন করুন ... 13: 50: 16.1271
উদাহরণস্বরূপ, বর্ণ দেখুন date
এবং hour
:
var date="2017-01-15T13:50:16.1271".toString("yyyyMMddHHmmss").
replace(/T/, ' ').
replace(/\..+/, '');
var auxCopia=date.split(" ");
date=auxCopia[0];
var hour=auxCopia[1];
console.log(date);
console.log(hour);
.toString("yyyyMMddHHmmss")
?
তারিখের জন্য সর্বাধিক সহজ উপায় বিন্যাস হ'ল মুহুর্তের lib ব্যবহার। https://momentjs.com/
const moment = require('moment')
const current = moment().utc().format('Y-M-D H:M:S')
toISOString()
এবংtoUTCString()
আমার লোকাল এবং ভাষার সমর্থনগুলির ঘণ্টা এবং শিস ছাড়াই একটি সাধারণ বিন্যাসকরণ গ্রন্থাগার দরকার needed তাই আমি সংশোধন করেছি
http://www.mattkruse.com/javascript/date/date.js
এবং এটি ব্যবহার। Https://github.com/adgang/atom-time/blob/master/lib/dateformat.js দেখুন
ডকুমেন্টেশন বেশ পরিষ্কার।
appHelper.validateDates = function (start, end) {
var returnval = false;
var fd = new Date(start);
var fdms = fd.getTime();
var ed = new Date(end);
var edms = ed.getTime();
var cd = new Date();
var cdms = cd.getTime();
if (fdms >= edms) {
returnval = false;
console.log("step 1");
}
else if (cdms >= edms) {
returnval = false;
console.log("step 2");
}
else {
returnval = true;
console.log("step 3");
}
console.log("vall", returnval)
return returnval;
}
আমি মনে করি এটি আসলে আপনার প্রশ্নের উত্তর দেয়।
জাভাস্ক্রিপ্টে তারিখ / সময় নিয়ে কাজ করা এত বিরক্তিকর। কয়েক ধূসর চুল পরে আমি বুঝতে পারলাম যে আসলে খুব সহজ ছিল।
var date = new Date();
var year = date.getUTCFullYear();
var month = date.getUTCMonth();
var day = date.getUTCDate();
var hours = date.getUTCHours();
var min = date.getUTCMinutes();
var sec = date.getUTCSeconds();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = ((hours + 11) % 12 + 1);//for 12 hour format
var str = month + "/" + day + "/" + year + " " + hours + ":" + min + ":" + sec + " " + ampm;
var now_utc = Date.UTC(str);