ජාවාස්ක්රිප්ට් හි වත්මන් දිනය ලබා ගන්නේ කෙසේද?
new Date()
වත්මන් නැවත කාලය නොවේ, වර්තමාන දිනය . කාල සං component ටකයක් නොමැති වෙනත් දිනයකට (එනම් මධ්යම රාත්රියේදී) සංසන්දනය කිරීමට ඔබ උත්සාහ කරන්නේ නම් වෙනස වැදගත් වේ.
ජාවාස්ක්රිප්ට් හි වත්මන් දිනය ලබා ගන්නේ කෙසේද?
new Date()
වත්මන් නැවත කාලය නොවේ, වර්තමාන දිනය . කාල සං component ටකයක් නොමැති වෙනත් දිනයකට (එනම් මධ්යම රාත්රියේදී) සංසන්දනය කිරීමට ඔබ උත්සාහ කරන්නේ නම් වෙනස වැදගත් වේ.
Answers:
වත්මන් දිනය හා වේලාව අඩංගු new Date()
නව Date
වස්තුවක් ජනනය කිරීමට භාවිතා කරන්න .
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
today = mm + '/' + dd + '/' + yyyy;
document.write(today);
මෙය ඔබට අද දිනය mm / dd / yyyy ආකෘතියෙන් ලබා දෙනු ඇත.
today = mm +'/'+ dd +'/'+ yyyy;
ඔබ කැමති ඕනෑම ආකෘතියකට සරලව වෙනස් කරන්න.
01
, 02
, ...,09
Date.prototype.toLocaleDateString()
ක්රමය වඩාත් නම්යශීලී විසඳුමකි. එය ECMAScript 5.1 සිට ජාවාස්ක්රිප්ට් හි කොටසක් වන අතර එය සදාහරිත බ්රව්සර් මගින් හොඳින් සහාය වේ. MDN:toLocaleDateString()
var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);
භාවිතා replace
ඔබ නැවත භාවිත කිරීමට යන්නේ නම් වන විකල්පය utc
වැනි, විචල්ය new Date(utc)
ෆයර්ෆොක්ස් හා සෆාරි ඉතුරු සමග දිනය හඳුනා නැහැ ලෙස.
toUTCString()
යූටීසී දිවා කාලය ලෙස නැවත පැමිණේ.
moment( new Date().toJSON().slice(0, 10) )
යාවත්කාලීන කරන ලදි! , පහළට අනුචලනය කරන්න
ඔබට අවසාන පරිශීලකයාට සරල දෙයක් අවශ්ය නම් ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
var objToday = new Date(),
weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
dayOfWeek = weekday[objToday.getDay()],
domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
curMonth = months[objToday.getMonth()],
curYear = objToday.getFullYear(),
curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;
document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>
UBBER UPDATE බොහෝ කල් දැමීමෙන් පසුව, මම අවසාන වශයෙන් GitHubbed කර මා විසින්ම භාවිතා කර ඇති අවසාන විසඳුම සමඟ මෙය යාවත්කාලීන කර ඇත. එය පැණිරස කිරීම සඳහා අවසාන මිනිත්තුවේ සංස්කරණ පවා තිබේ! ඔබ පැරණි jsFiddle සොයන්නේ නම්, කරුණාකර මෙය බලන්න .
මෙම යාවත්කාලීනය රස 2 කින් යුක්ත වන අතර එය තවමත් සාපේක්ෂව කුඩා නමුත් මගේ ඉහත තරම් කුඩා නොවූවත් මුල් පිළිතුරයි. ඔබට අතිශයින් කුඩා අවශ්ය නම්, ඒ සමඟ යන්න.
මෙයද සටහන් කරන්න: මෙය තවමත් moment.js වලට වඩා අඩුය. Moment.js හොඳයි, ඉමෝ, එයට බොහෝ ලෞකික ක්රම ඇත, එය භාෂාවක් ලෙස ඉගෙනීමේ මොහොත අවශ්ය වේ. මෙහි පතල PHP: දිනය හා සමාන පොදු ආකෘතියක් භාවිතා කරයි .
රසය 1
new Date().format(String)
මගේ පුද්ගලික ෆැව්. මම තහනම දනිමි නමුත් දිනය වස්තුව මත විශිෂ්ට ලෙස ක්රියා කරයි. දිනය වස්තුවට ඔබට ඇති වෙනත් මොඩ්ස් ගැන දැනුවත් වන්න.
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
රසය 2
dateFormat(Date, String)
වඩාත් සාම්ප්රදායික සියලු දෙනාටම එකකි. පෙර පැවති සියලු හැකියාවන් ඇත, නමුත් දිනය පරාමිතිය සමඟ ක්රමය හරහා හැඳින්වේ.
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
බෝනස් රසය (jQuery අවශ්යයි)
$.date(Date, String)
මෙය සරලformat
විකල්පයකට වඩා වැඩි යමක් අඩංගු වේ . එය පාදක දිනය වස්තුව දිගු කරන අතර වැනි ක්රම ඇතුළත් වේaddDays
. වැඩි විස්තර සඳහා කරුණාකර Git බලන්න .
මෙම මාදිලියේදී, ආකෘති අක්ෂර PHP: දිනය මගින් දේවානුභාවයෙන් . සම්පූර්ණ ලැයිස්තුවක් සඳහා, කරුණාකර මගේ README බලන්න
මෙම මෝඩයට පෙර සාදන ලද ආකෘතිවල දිගු ලැයිස්තුවක් ද ඇත. පෙර සැකසූ ආකෘතියක් භාවිතා කිරීමට, එහි යතුරු නාමය ඇතුළත් කරන්න.dateFormat(new Date(), 'pretty-a');
ඔබ දකින පරිදි, ඔබට \
චරිතයකින් ගැලවීමට දෙගුණයක් භාවිතා කළ හැකිය .
හැකි කෙටිම.
"2018-08-03" වැනි ආකෘතිය ලබා ගැනීමට:
let today = new Date().toISOString().slice(0, 10)
console.log(today)
"8/3/2018" වැනි ආකෘතිය ලබා ගැනීමට:
let today = new Date().toLocaleDateString()
console.log(today)
එසේම, ඔබට පෙදෙස තර්ක ලෙස සම්මත කළ හැකිය , උදාහරණයක් ලෙස toLocaleDateString("sr")
.
ඔබට කාල තොරතුරු නොමැතිව දිනයක් අවශ්ය නම්, භාවිතා කරන්න:
var today = new Date();
today.setHours(0, 0, 0, 0);
document.write(today);
මේක උත්සාහ කරන්න:
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")
ප්රති result ලය සමාන වනු ඇත
15/2/2012
ඔබ දින ආකෘතීන් මත තවත් බොහෝ කැටිති පාලනයක් සොයන්නේ නම්, මම මොහොත පරීක්ෂා කිරීමට තරයේ නිර්දේශ කරමි. භයානක පුස්තකාලය - සහ 5KB පමණි. http://momentjs.com/
ඔබට moment.js භාවිතා කළ හැකිය: http://momentjs.com/
var m = moment().format("DD/MM/YYYY");
document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
moment().format("L")
වත්මන් පෙදෙසට ගරු කිරීම.
var d = (new Date()).toString().split(' ').splice(1,3).join(' ');
document.write(d)
එය පියවර කිහිපයකට කඩා දැමීමට:
(new Date()).toString()
"සිකුරාදා ජුනි 28, 15:30:18 GMT-0700 (PDT)"
(new Date()).toString().split(' ')
ඉහත අවකාශය සෑම අවකාශයකම බෙදී පහත දැක්වෙන පරිදි අරාවක් ලබා දෙයි: ["සිකුරාදා", "ජුනි", "28", "2013", "15:31:14", "GMT-0700", "(PDT)" ]
(new Date()).toString().split(' ').splice(1,3).join(' ')
ඉහත අරාවෙන් දෙවන, තෙවන සහ සිව්වන අගයන් ගෙන ඒවා අවකාශයන් සමඟ සම්බන්ධ කර "ජුනි 28 2013" නූලක් ලබා දෙයි.
Date().split(' ').splice(1,3).join(' ')
මෙය සෑම විටම ක්රියාත්මක වේ:
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear() + "-" + (month) + "-" + (day);
console.log(today);
var date = new Date().toLocaleDateString("en-US");
එසේම, ඔබට toLocaleDateString
පරාමිති දෙකක් සහිත ක්රමයක් ඇමතිය හැකිය :
var date = new Date().toLocaleDateString("en-US", {
"year": "numeric",
"month": "numeric"
});
new Date().toLocaleDateString("de-de")
මට උපක්රමය කරයි.
පිරිසිදු, සරල අනුවාදය:
new Date().toLocaleString();
පරිශීලකයාගේ ස්ථානය අනුව ප්රති ult ලය වෙනස් වේ :
2/27/2017, 9:15:41 පෙ.ව.
YYYY-MM-DD ආකෘතිය ගැන ඔබ සතුටු වන්නේ නම්, මෙයද කාර්යය ඉටු කරනු ඇත.
new Date().toISOString().split('T')[0]
2018-03-10
ඔබට දිනය වස්තුව විස්තාරණය කරන Date.js පුස්තකාලය භාවිතා කළ හැකිය , එබැවින් ඔබට .today () ක්රමය තිබිය හැකිය.
ඔබට වර්තමාන දිනය මේ ආකාරයට ස්ථිතික ක්රමය අමතන්න:
var now = Date.now()
යොමුව:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
var dtToday = new Date(date.now);
Varun පිළිතුර සඳහා වැයවේ නැත TimezoneOffset . මෙන්න එය කරන අනුවාදයකි:
var d = new Date()
new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11
මෙම TimezoneOffset
දිනය ඉදිකිරීමටත්, මිලි තත්පර ගනී අතර විසින් මෙසේ ගුණ කිරීම, විනාඩි 60000
.
කෙටිම පිළිතුර: new Date().toJSON().slice(0,10)
new Date().toDateString();
ප්රති ult ලය:
"බදාදා පෙබරවාරි 03 2016"
ලෙස toISOString()
පමණක් වත්මන් UTC කාලය, දේශීය කාලය නොවේ හැරී යනු ඇත. අප දිනය ලබා ගැනීමට '.toString ()' උත්සවය භාවිතා කිරීමෙන් දිනය කිරීමට ඇති yyyy-MM-dd
වගේ තරගාවලියක
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('T')[0]);
දිනය හා වේලාව yyyy-MM-ddTHH:mm:ss
ආකෘතියෙන් ලබා ගැනීමට
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0]);
දිනය හා වේලාව yyyy-MM-dd HH:mm:ss
ආකෘතියෙන් ලබා ගැනීමට
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0].replace('T',' '));
ඔබට සරල DD/MM/YYYY
ආකෘතියක් අවශ්ය නම් , මම මෙම සරල විසඳුම ඉදිරිපත් කර ඇත්තෙමි.
var d = new Date();
document.write( [d.getDate(), d.getMonth()+1, d.getFullYear()].join('/') );
නවතම සංස්කරණය: 8/23/19 මෙම -fns දිනය බොහෝ වගේ පුස්තකාල වැඩ moment.js නමුත් මාර්ගය කුඩා පරිසරයට මුදාහරිනු ඇත. ඔබේ ව්යාපෘතියට ඇතුළත් කිරීමට අවශ්ය කාර්යයන් චෙරි තෝරා ගැනීමට එය ඔබට ඉඩ සලසයි, එබැවින් අද දිනය සංයුති කිරීම සඳහා මුළු පුස්තකාලයම සම්පාදනය කිරීමට ඔබට අවශ්ය නොවේ. අවම තෙවන පාර්ශවීය ලිබ් එකක් ඔබේ ව්යාපෘතිය සඳහා විකල්පයක් නොවේ නම්, සැමුවෙල් මෙඩ්ඩෝස් විසින් පිළිගත් විසඳුම මම අනුමත කරමි.
පහත ඉතිහාසය සුරැකීම එය කිහිප දෙනෙකුට උදව් කළ බැවිනි. නමුත් මෙම පෝස්ට් එකේ ඇති බොහෝ විසඳුම් මෙන්ම, අනතුරු ඇඟවීමකින් තොරව බිඳ දැමීම ඉතා කඩිනම් හා වගකීමකි
සංස්කරණය 2/7/2017 එක් පේළියේ JS විසඳුමක්:
Il10 + හි tl; dr
var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];
edge, ff latest, & chrome returntodaysDate = "2/7/2017"
"works" *
පැහැදිලි කිරීම
IE10 සහ IE Edge දේවල් ටිකක් වෙනස් ලෙස කරන බව මම දැනගත්තා .. යන්න රූපය. සමග new Date(Date.now()).toLocaleString()
යෙදවුම් ලෙස,
IE10 ප්රතිලාභ:
"Tuesday, February 07, 2017 2:58:25 PM"
මට විශාල දිගු ශ්රිතයක් සහ FTFY ලිවිය හැකිය. නමුත් ඔබ ඇත්තටම මේ දේවල් සඳහා moment.js භාවිතා කළ යුතුයි . මගේ පිටපත හුදෙක් මෙය පිරිසිදු කර පුළුල් එක්සත් ජනපද අංකනය ඔබට ලබා දෙයි :> todaysDate = "March 06, 2017"
IE EDGE ප්රතිලාභ:
"2/7/2017 2:59:27 PM"
ඇත්ත වශයෙන්ම එය එතරම් පහසු විය නොහැක. එඩ්ජ්ගේ දින නූලෙහි දෘශ්යමාන එක් එක් අතර නොපෙනෙන "•" අක්ෂර ඇත. ඒ නිසා අපි දැන් පරීක්ෂා කරන්නේ පළමු අක්ෂරය අංකයක් පමණක් නොව, පළමු අක්ෂර 3 ය, මන්ද යත්, මුළු දින පරාසය තුළ ඇති ඕනෑම තනි අක්ෂරයක් අවසානයේ යම් අවස්ථාවක තිතක් හෝ කප්පාදුවක් වනු ඇති බැවිනි. ඒ නිසා දේවල් සරල ලෙස තබා ගැනීමට .සමහර කරන්න () පළමු අක්ෂර තුන (අනාගත ෂෙනානිගන්ට එරෙහිව කුඩා බෆරය) පසුව අංක පරීක්ෂා කරන්න. මෙම නොපෙනෙන තිත් ඔබේ කේතයේ පැවතිය හැකි බව බොහෝ විට සැලකිල්ලට ගත යුතුය. ඔබේ දෘෂ්ටියට මෙම නූල මුද්රණය කරනවාට වඩා විශාල සැලසුම් තිබේ නම් මම ඒ ගැන සොයා බලනු ඇත.
One යාවත්කාලීන කරන ලද එක් ලයිනර්:
var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];
එය කියවීමට උරා ගනී. කොහොමද:
var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];
මුල් පිළිතුර
මට ඔබ වෙනුවෙන් එක් ලයිනර් එකක් තිබේ:
new Date(Date.now()).toLocaleString().split(', ')[0];
හා [1]
ඔබ දවසේ කාලය ලබා දෙනු ඇත.
ඔබට මෙය භාවිතා කළ හැකිය
<script>
function my_curr_date() {
var currentDate = new Date()
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
var my_date = month+"-"+day+"-"+year;
document.getElementById("dateField").value=my_date;
}
</script>
HTML වේ
<body onload='return my_curr_date();'>
<input type='text' name='dateField' id='dateField' value='' />
</body>
ඔබ jQuery භාවිතා කරන්නේ නම්. මෙම එක් ලයිනර් උත්සාහ කරන්න:
$.datepicker.formatDate('dd/mm/yy', new Date());
දිනය සංයුති කිරීමේ සම්මුතිය මෙන්න
මෙන්න jQuery datepicker සඳහා යොමු කිරීම
එය ඉවත් කර ගැනීම සඳහා ඉතා සරල ක්රමයක් (ඔබේ වර්තමාන කාල කලාපය සලකා බැලීමේදී එය ISO yyyy-mm-dd ආකෘතියෙන් වාසි ලබා ගනී):
let d = new Date().toISOString().substring(0,19).replace("T"," ") // "2020-02-18 16:41:58"
සාමාන්යයෙන්, මෙය සියලු අරමුණු සහිත අනුකූල දින ආකෘතියක් වන අතර අවශ්ය නම් ඔබට එය පිරිසිදු දින අගයක් බවට පරිවර්තනය කළ හැකිය:
Date.parse(d); // 1582044297000
var dateTimeToday = new Date();
var dateToday = new Date(
dateTimeToday.getFullYear(),
(dateTimeToday.getMonth() + 1) /*Jan = 0! */,
dateTimeToday.getDate(),
0,
0,
0,
0);
මොකක්ද මේකෙන් තියෙන ලොකුම දේ .. මේකට කරන්න පුළුවන් පිරිසිදුම ක්රමය
var currentDate=new Date().toLocaleString().slice(0,10);
3/4/2018,
භාවිතා කිරීමට වඩා හොඳ වැරදි නැවත ලබා දෙනු ඇත new Date().toJSON().slice(0,10)
.
.slice(0,10)
මෙය ඔබට උදව් විය හැකිය
var date = new Date();
console.log(date.getDate()+'/'+(date.getMonth()+1)+'/'+date.getFullYear());
මෙය වත්මන් දිනය dd / MM / yyyy ආකෘතියෙන් මුද්රණය කරනු ඇත
ආකෘතිගත දිනය ලබා ගැනීමට මෙය හොඳයි
let date = new Date().toLocaleDateString("en", {year:"numeric", day:"2-digit", month:"2-digit"});
console.log(date);
var currentTime = new Date();