æ°ããçµã¿è¾¼ã¿ãªãã¸ã§ã¯ããè¦ã¦ããã¾ããã: Dateãæ¥ä»ãæå»ãä¿åãã管çããããã®ã¡ã½ãããæä¾ãã¾ãã
ä¾ãã°ã使/ä¿®æ£æå»ãä¿åããããæéãæ¸¬å®ããããåã«ç¾å¨ã®æå»ã表示ããããã«ä½¿ããã¨ãã§ãã¾ãã
使
æ°ãã Date ãªãã¸ã§ã¯ããä½ãã«ã¯ã 次ã®ããããã®å¼æ°ã§ new Date() ãå¼ã³ã¾ã:
new Date()-
弿°ãªã â ç¾å¨ã®æ¥ä»ã¨æå»ã§
Dateãªãã¸ã§ã¯ããä½ãã¾ã:let now = new Date(); alert( now ); // ç¾å¨ã®æ¥æã表示ãã¾ã new Date(milliseconds)-
Jan 1st of 1970 UTC+0 (1970å¹´ 1æ1æ¥ UTC+0) ããã®çµéããããªç§(ç§ã®1/1000)ã«çããæéããã¤
Dateãªãã¸ã§ã¯ããä½ãã¾ãã// 0 㯠01.01.1970 UTC+0 ãæå³ãã¾ã let Jan01_1970 = new Date(0); alert( Jan01_1970 ); // ä» 24 æéã追å ãã¾ãã, 02.01.1970 UTC+0 ã«ãªãã¾ã let Jan02_1970 = new Date(24 * 3600 * 1000); alert( Jan02_1970 );1970å¹´åãããçµéããããªç§ã®æ°å¤ã¯ ã¿ã¤ã ã¹ã¿ã³ã ã¨å¼ã°ãã¾ãã
ããã¯æ¥ä»ã®è»½éãªæ°å¤è¡¨ç¾ã§ãã常ã«
new Date(timestamp)ã使ã£ã¦ã¿ã¤ã ã¹ã¿ã³ãããæ¥ä»ã使ããåå¨ããDateãªãã¸ã§ã¯ããdate.getTime()ã¡ã½ãã(å¾è¿°) ã使ã£ã¦ã¿ã¤ã ã¹ã¿ã³ãã«å¤æãã¾ãã1970.01.01 以åã®æ¥ä»ã¯è² ã®ã¿ã¤ã ã¹ã¿ã³ãã«ãªãã¾ããä¾:
// 31 Dec 1969 let Dec31_1969 = new Date(-24 * 3600 * 1000); alert( Dec31_1969 ); new Date(datestring)-
1ã¤ã®å¼æ°ã§ãããæååã®å ´åãèªåã§ãã¼ã¹ããã¾ãã
Date.parseã¢ã«ã´ãªãºã (å¾è¿°)ã§ãã¼ã¹ããã¾ããlet date = new Date("2017-01-26"); alert(date); // æå»ãè¨å®ããã¦ããªãã®ã§ãGMT ã®æ·±å¤0æã¨ã¿ãªããã // ã³ã¼ã¶ã«ãå®è¡ãããã¿ã¤ã ã¾ã¼ã³ã«å¿ãã¦èª¿æ´ããã¾ãã // ãããã£ã¦ãçµæã¯ä»¥ä¸ã«ãªãã¾ã // Thu Jan 26 2017 11:00:00 GMT+1100 (Australian Eastern Daylight Time) // ã¾ã㯠// Wed Jan 25 2017 16:00:00 GMT-0800 (Pacific Standard Time) new Date(year, month, date, hours, minutes, seconds, ms)-
ãã¼ã«ã«ã¿ã¤ã ã¾ã¼ã³ã§ãä¸ããããè¦ç´ ã§æ¥ä»ã使ãã¾ããæåã®2ã¤ã®å¼æ°ã¯å¿ é ã§ãã
yearã¯4æ¡ã§ãªããã°ããã¾ããã2013ã¯OKã§ããã98ã¯ãã¡ã§ããmonth0(1æ) ããæ°ãã11(12æ)ã¾ã§ã§ããdateãã©ã¡ã¼ã¿ã¯å®éã®æã®æ¥ã§ããããæå®ããªããã°1ã«ãªãã¾ãã- ãã
hours/minutes/seconds/msããªããã°ããããã¯0ã¨ã¿ãªããã¾ãã
ä¾:
new Date(2011, 0, 1, 0, 0, 0, 0); // // 1 Jan 2011, 00:00:00 new Date(2011, 0, 1); // åãã§ããæãªã©ã¯ããã©ã«ãã§ 0 ã§ãæå°ã®ç²¾åº¦ã¯ 1ms (1/1000ç§)ã§ã:
let date = new Date(2011, 0, 1, 2, 3, 4, 567); alert( date ); // 1.01.2011, 02:03:04.567
date ã³ã³ãã¼ãã³ãã¸ã®ã¢ã¯ã»ã¹
Date ãªãã¸ã§ã¯ããã å¹´ãæãªã©ã¸ã¢ã¯ã»ã¹ããå¤ãã®ã¡ã½ãããããã¾ããããããã«ãã´ã©ã¤ãºãããã¨ã§ç°¡åã«è¦ãããã¨ãã§ãã¾ãã
- getFullYear()
- å¹´ãåå¾ãã¾ã(4æ¡)
- getMonth()
- æãåå¾ãã¾ã, 0ãã11ã
- getDate()
- æã®æ¥ãåå¾ããå¤ã¯ 1 ãã 31 ã§ããã¡ã½ããã®ååã«ã¯å°ãéåæãããã¾ããã
- getHours(), getMinutes(), getSeconds(), getMilliseconds()
- 対å¿ããæå»ã®æ§æè¦ç´ ãåå¾ãã¾ãã
getYear() ã§ã¯ãªã getFullYear() ã§ãå¤ãã®JavaScriptã¨ã³ã¸ã³ã¯ æ¨æºã§ã¯ãªãã¡ã½ãã getYear() ãå®è£
ãã¦ãã¾ãããã®ã¡ã½ããã¯éæ¨å¥¨ã§ããããã¯2æ¡ã®å¹´ãè¿ãæãããã®ã§ã決ãã¦ä½¿ããªãã§ãã ãããå¹´ã®åå¾ã«ã¯ getFullYear() ãããã¾ãã
å ãã¦ãé±ã®ææ¥ãåå¾ãããã¨ãã§ãã¾ã:
- getDay()
- é±ã®ææ¥ãåå¾ããå¤ã¯
0(æ¥æ) ãã6(åæ) ã§ããæåã®æ¥ã¯å¸¸ã«æ¥æã§ããããã¤ãã®å½ã§ã¯ããã§ã¯ããã¾ããããå¤ãããã¨ã¯ã§ãã¾ããã
ä¸ã®ãã¹ã¦ã®ã¡ã½ããã¯ãã¼ã«ã«ã¿ã¤ã ã¾ã¼ã³ãåºæºã«æ§æè¦ç´ ãè¿ãã¾ãã
ã¿ã¤ã ã¾ã¼ã³ UTC+0 ã®æ¥ãæãå¹´ãªã©ãè¿ããUTCã«ã¦ã³ã¿ã¼ãã¼ããããã¾ã:getUTCFullYear(), getUTCMonth(), getUTCDay(). åã« "get" ã®ç´å¾ã« "UTC" ãæ¿å
¥ããã ãã§ãã.
ããªãã®ã¿ã¤ã ã¾ã¼ã³ã UTC ããç¸å¯¾çã«ã·ãããã¦ããå ´åãä¸ã®ã³ã¼ãã®çµæã¯ç°ãªãæéã表示ãã¾ã:
// ç¾å¨ã® date
let date = new Date();
// ããªãã®ç¾å¨ã®ã¿ã¤ã ã¾ã¼ã³ã§ã®æé
alert( date.getHours() );
// UTC+0 ã®ã¿ã¤ã ã¾ã¼ã³ã§ã®æé (ãµãã¼ã¿ã¤ã ã®ãªããã³ãã³æé)
alert( date.getUTCHours() );
ãªããUTCã®ãã¿ã¼ã³ãæããªãã2ã¤ã®ç¹å¥ãªã¡ã½ãããããã¾ã:
- getTime()
-
æ¥ä»ã®ã¿ã¤ã ã¹ã¿ã³ããè¿ãã¾ã â ããã¯ã1970å¹´ UTC+0 ã® 1æ1æ¥ããã®çµéããªç§ã§ãã
- getTimezoneOffset()
-
ãã¼ã«ã«ã¿ã¤ã ã¾ã¼ã³ã¨UTCã®å·®ããåã§è¿ãã¾ã:
// ã¿ã¤ã ã¾ã¼ã³ UTC-1 ã«ããå ´åã60 ãåºå // ã¿ã¤ã ã¾ã¼ã³ UTC+3 ã«ããå ´åã-180 ãåºå alert( new Date().getTimezoneOffset() );
æ¥ä»ã®æ§æè¦ç´ ãè¨å®ãã
次ã®ã¡ã½ããã§ãæ¥ä»/æå»ã®æ§æè¦ç´ ãã»ãããããã¨ãã§ãã¾ã:
setFullYear(year [, month, date])setMonth(month [, date])setDate(date)setHours(hour [, min, sec, ms])setMinutes(min [, sec, ms])setSeconds(sec [, ms])setMilliseconds(ms)setTime(milliseconds)(1970å¹´1æ1æ¥UTC+0ããã®çµéæ¥ãããªç§ã§è¨å®ãã¾ã)
setTime() ãé¤ããã¹ã¦ã®ãã®ã¯ UTCã®ãã¿ã¼ã³ãããã¾ããä¾ãã° setUTCHours() ã§ãã
ããã¾ã§è¦ãããã«ãããã¤ãã®ã¡ã½ããã¯ä¸åº¦ã«è¤æ°ã®æ§æè¦ç´ ãã»ãããããã¨ãã§ãã¾ããä¾ãã°ãsetHours ã§ããè¨å®ããã¨ãã«è¨åããã¦ããªãæ§æè¦ç´ ã¯å¤æ´ããã¾ããã
ä¾:
let today = new Date();
today.setHours(0);
alert(today); // 仿¥ã®ã¾ã¾ã§ãããæã¯ 0 ã«å¤æ´ããã¾ã
today.setHours(0, 0, 0, 0);
alert(today); // 仿¥ã®ã¾ã¾ã§, ä»ã¯ 00:00:00 ã§ã
èªåè£æ£
èªåè£æ£ 㯠Date ãªãã¸ã§ã¯ãã®ã¨ã¦ã便å©ãªæ©è½ã§ããç§ãã¡ãç¯å²å¤ã®å¤ãæå®ããå ´åãããã¯èªåçã«èª¿ç¯ããã¾ãã
ä¾:
let date = new Date(2013, 0, 32); // 32 Jan 2013 ?!?
alert(date); // ...i㯠2013/2/1 ã§ã!
ç¯å²å¤ã®æ°å¤ãæå®ãããæ§æè¦ç´ ã¯èªåçã«è£æ£ããã¾ãã
â2016å¹´2æ28æ¥â ã®æ¥ä»ã2æ¥å¢ããå¿
è¦ãããã¨ãã¾ããããâ3æ2æ¥âããããå¹´ã®å ´åã«ã¯ â3æ1æ¥â ã«ãªãã¾ãããèããå¿
è¦ã¯ããã¾ããã 2æ¥ã追å ããã ãã§ãã Date ãªãã¸ã§ã¯ããæ®ããè¡ãã¾ã:
let date = new Date(2016, 1, 28);
date.setDate(date.getDate() + 2);
alert( date ); // 1 Mar 2016
ãã®æ©è½ã¯ãæå®ããæéå¾ã®æ¥ä»ãåå¾ãããã¨ãã«ããå©ç¨ããã¾ãã ä¾ãã°ãâ70ç§å¾â ã®æ¥ä»ãåå¾ãã¾ãããã:
let date = new Date();
date.setSeconds(date.getSeconds() + 70);
alert( date ); // æ£ããæ¥æã表示ãã¾ã
ã¾ããã¼ããè² å¤ãã»ãããããã¨ãã§ãã¾ããä¾ãã°:
let date = new Date(2016, 0, 2); // 2 Jan 2016
date.setDate(1); // æã®1æ¥ãè¨å®ãã¾ã
alert( date );
date.setDate(0); // æå°æ¥ã¯1ãªã®ã§ãå
æã®æå¾ã®æ¥ã«ãªãã¾ã
alert( date ); // 31 Dec 2015
æ¥ä»ããæ°å¤ã¸ãæ¥ä»ã®å·®å
Date ãªãã¸ã§ã¯ããæ°å¤ã¸å¤æãããã¨ããdate.getTime() ã¨åãããã«ã¿ã¤ã ã¹ã¿ã³ãã«ãªãã¾ã:
let date = new Date();
alert(+date); // ããªç§ã®æ°å¤ã§ã, date.getTime() ã¨åãã§ã
éè¦ãªå¯ä½ç¨ã¯ãæ¥ä»ã¯æ¸ç®ãããã¨ãã§ãã¾ãããçµæã¯ããªç§åä½ã§ã®å·®åã«ãªããã¨ã§ãã
ããã¯æéã®è¨æ¸¬ã§ä½¿ããã¨ãã§ãã¾ã:
let start = new Date(); // è¨æ¸¬éå§
// ãªã«ããã
for (let i = 0; i < 100000; i++) {
let doSomething = i * i * i;
}
let end = new Date(); // çµäº
alert( `The loop took ${end - start} ms` );
Date.now()
ããå·®åã ãæ¸¬å®ãããå ´åãDate ãªãã¸ã§ã¯ãã使ãå¿
è¦ã¯ããã¾ããã
ç¾å¨ã®ã¿ã¤ã ã¹ã¿ã³ããè¿ãç¹å¥ãªã¡ã½ãã Date.now() ãããã¾ãã
ããã¯ãæå³çã«ã¯ new Date().getTime() ã¨åãã§ãããä¸éã® Date ãªãã¸ã§ã¯ããä½ããªããããããéããã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã«è² è·ãããã¾ããã
ããã¯ä¸»ã«å©ä¾¿æ§ã§ãã£ãããJavaScriptã§ã®ã²ã¼ã ããã®ä»ç¹å¥ãªã¢ããªã±ã¼ã·ã§ã³ãªã©ããã©ã¼ãã³ã¹ãéè¦ãªå ´åã«ä½¿ããã¾ãã
ãªã®ã§ãããã¯ãããããã¿ã¼ã§ã:
let start = Date.now(); // 1 Jan 1970 ããã®ããªç§
// ãªã«ããã
for (let i = 0; i < 100000; i++) {
let doSomething = i * i * i;
}
let end = Date.now(); // çµäº
alert( `The loop took ${end - start} ms` ); // æ¥ä»ã§ã¯ãªããæ°å¤ãæ¸ç®ãã
ãã³ããã¼ã¯
CPUãå¿ è¦ã¨ããæ©è½ã«ã¤ãã¦ãä¿¡é ¼ã§ãããã³ããã¼ã¯ãå¿ è¦ãªå ´åã¯æ³¨æãå¿ è¦ã§ãã
ä¾ãã°ã2ã¤ã®æ¥ä»ã®å·®ãè¨ç®ãã2ã¤ã®é¢æ°ã測å®ãã¦ã¿ã¾ããããã©ã¡ããããéãã§ããããï¼
ãã®ãããªããã©ã¼ãã³ã¹æ¸¬å®ã¯ãã âãã³ããã¼ã¯â ã¨å¼ã°ãã¾ãã
// date1 㨠date2 ãæã£ã¦ããããããã®å·®ãmsã§è¿ãã®ã¯ã©ã¡ãã®é¢æ°ãéãã§ãããï¼
function diffSubtract(date1, date2) {
return date2 - date1;
}
// or
function diffGetTime(date1, date2) {
return date2.getTime() - date1.getTime();
}
ããã2ã¤ã¯æ£ç¢ºã«åããã¨ããã¾ãããçæ¹ã¯æ¥ä»ã®ããªç§ãåå¾ããããã«æç¤ºç㪠date.getTime() ã使ãã¾ããã¾ãããã䏿¹ã¯æ¥ä»ã®æ°å¤å¤æãå½ã¦ã«ãã¦ãã¾ãããããã®çµæã¯å¸¸ã«åãã§ãã
ãã¦ãã©ã¡ããããéãã§ããããï¼
æåã«æãã¤ãã¢ã¤ãã¢ã¯ãããããä½åº¦ãé£ç¶ã§å®è¡ãããã®æéã®å·®ã測ããã¨ã§ããæã ã®ã±ã¼ã¹ã§ã¯ã颿°ã¯ã¨ã¦ãã·ã³ãã«ãªã®ã§ãç´10ä¸åç¨åº¦è¡ãå¿ è¦ãããã¾ãã
測å®ãã¦ã¿ã¾ãããã:
function diffSubtract(date1, date2) {
return date2 - date1;
}
function diffGetTime(date1, date2) {
return date2.getTime() - date1.getTime();
}
function bench(f) {
let date1 = new Date(0);
let date2 = new Date();
let start = Date.now();
for (let i = 0; i < 100000; i++) f(date1, date2);
return Date.now() - start;
}
alert( 'Time of diffSubtract: ' + bench(diffSubtract) + 'ms' );
alert( 'Time of diffGetTime: ' + bench(diffGetTime) + 'ms' );
ãªãã¨ãããã¨ã§ããã! getTime() ãä½¿ãæ¹ãé¥ãã«éãã§ã! ãªããã¨è¨ãã¨ããã®å ´åã¯å夿ããªããã¨ã³ã¸ã³ãæé©åãããã®ãã¨ã¦ãç°¡åãªããã§ãã
ãã¦ãç§ãã¡ã¯æ¸¬å®çµæãå¾ã¾ããããããã¯ã¾ã è¯ããã³ããã¼ã¯ã§ã¯ããã¾ããã
bench(diffSubtract) ãå®è¡ãã¦ããã¨ãã«CPUã¯ä¸¦åã§ä½ãããã¦ãã¦ãªã½ã¼ã¹ãæ¶è²»ãã¦ãããbench(diffGetTime) ã®å®è¡æã¾ã§ã«ã¯ãã®ä½æ¥ãå®äºãã¦ããã¨æ³åãã¦ãã ããã
ããã¯ãç¾ä»£ã®ãã«ãããã»ã¹OSã§ã®ããããå®éã®ã·ããªãªã§ãã
ä¸ã®å ´åãçµæã¨ãã¦æåã®ãã³ããã¼ã¯ã¯2åç®ãããå©ç¨ã§ããCPUãªã½ã¼ã¹ãå°ãªããªãã¾ããããã¯èª¤ã£ãçµæãå°ãã¾ãã
ããä¿¡é ¼æ§ã®é«ããã³ããã¼ã¯ãè¡ãã«ã¯ããã³ããã¼ã¯å ¨ä½ãè¤æ°ååå®è¡ããå¿ è¦ãããã¾ãã
ããã§ã¯ãã®ã³ã¼ãã®ãµã³ãã«ã§ã:
function diffSubtract(date1, date2) {
return date2 - date1;
}
function diffGetTime(date1, date2) {
return date2.getTime() - date1.getTime();
}
function bench(f) {
let date1 = new Date(0);
let date2 = new Date();
let start = Date.now();
for (let i = 0; i < 100000; i++) f(date1, date2);
return Date.now() - start;
}
let time1 = 0;
let time2 = 0;
// bench(upperSlice) 㨠bench(upperLoop) ã交äºã«10åå®è¡ãã
for (let i = 0; i < 10; i++) {
time1 += bench(diffSubtract);
time2 += bench(diffGetTime);
}
alert( 'Total time for diffSubtract: ' + time1 );
alert( 'Total time for diffGetTime: ' + time2 );
ç¾ä»£ã®JavaScriptã¨ã³ã¸ã³ã¯ãä½åº¦ãå®è¡ãããããããã³ã¼ããã«å¯¾ãã¦ã®ã¿é«åº¦ãªæé©åãé©ç¨ãå§ãã¾ãï¼ã»ã¨ãã©å®è¡ãããªããã®ãæé©åããå¿ è¦ã¯ãªãããã§ãï¼ããããã£ã¦ãä¸è¨ã®ä¾ã§ã¯ãæåã®å®è¡ã¯æé©åããã¦ãã¾ããã ãã¼ãã¢ãã(ã¡ã¤ã³ã®å®è¡ã®åã®å©èµ°)ã追å ãããã¨ãã§ãã¾ã:
// ã¡ã¤ã³ã«ã¼ãã®åã® "ãã¼ãã¢ãã" ã®ããã«è¿½å
bench(diffSubtract);
bench(diffGetTime);
// now benchmark
for (let i = 0; i < 10; i++) {
time1 += bench(diffSubtract);
time2 += bench(diffGetTime);
}
ç¾ä»£ã®JavaScriptã¨ã³ã¸ã³ã¯å¤ãã®æé©åãè¡ãã¾ããããã㯠â人工çãªãã¹ãâ ã®çµæã âé常ã®ä½¿ç¨â ã¨æ¯è¼ãã¦èª¿æ´ããããããã¾ããã é常ã«å°ãããã®ããã³ããã¼ã¯ããã¨ãã¯ç¹ã«ããã§ããå¾ã£ã¦ãçé¢ç®ã«ããã©ã¼ãã³ã¹ãçè§£ãããã®ã§ããã°ãJavaScriptã¨ã³ã¸ã³ã®ä»çµã¿ãå¦ãã§ãã ãããããã¦ããã¤ã¯ããã³ããã¼ã¯ã¯å ¨ãå¿ è¦ãªãã§ãããã
V8 ã«ã¤ãã¦ã®ç´ æ´ãããè¨äºã¯ http://mrale.ph ã«ããã¾ãã
æååããã® Date.parse
ã¡ã½ãã Date.parse(str) ã¯æååããæ¥ä»ãèªããã¨ãã§ãã¾ãã
æååã®ãã©ã¼ããã㯠YYYY-MM-DDTHH:mm:ss.sssZ ã§ãªããã°ãªãã¾ããã:
YYYY-MM-DDã¯æ¥ä»ã§ããå¹´-æ-æ¥"T"ã®æåã¯ããªãã¿ã¨ãã¦ä½¿ç¨ããã¾ããHH:mm:ss.sssã¯æéã§ã(æãåãç§ã¨ããªç§)ã- ãªãã·ã§ã³ã®
'Z'ã®é¨åã¯ããã©ã¼ããã+-hh:mmã®ã¿ã¤ã ã¾ã¼ã³ã示ãã¾ããUTC+0 ãæå³ããåä¸ã®æåZã§ãã
ããçã表è¨ãå¯è½ã§ããYYYY-MM-DD ã YYYY-MM ãã¾ã㯠YYYY ã§ãã
Date.parse(str) ã®å¼ã³åºãã§ã¯ãæååãä¸ãããããã©ã¼ãããã«ãã¼ã¹ããã¿ã¤ã ã¹ã¿ã³ããè¿ãã¾ã(1970å¹´ 1æ1æ¥ UTC+0ããã®ããªç§)ããããã©ã¼ããããæ£ãããªãå ´åã«ã¯ NaN ãè¿ãã¾ãã
ä¾:
let ms = Date.parse('2012-01-26T13:51:50.417-07:00');
alert(ms); // 1327611110417 (timestamp)
ã¿ã¤ã ã¹ã¿ã³ããããå³åº§ã« new Date ãªãã¸ã§ã¯ããä½ããã¨ãã§ãã¾ãã
let date = new Date( Date.parse('2012-01-26T13:51:50.417-07:00') );
alert(date);
ãµããª
- JavaScript ã§ã®æ¥ä»ã¨æå»ã¯Date ãªãã¸ã§ã¯ãã§è¡¨ç¾ããã¾ããâæ¥ä»ã ãâãâæå»ã ãâ ãä½ããã¨ã¯ã§ãã¾ããã
Dateãªãã¸ã§ã¯ãã¯å¸¸ã«ä¸¡æ¹ãæã¡ã¾ãã - æã¯ã¼ãããã«ã¦ã³ãããã¾ã(ãªã®ã§ã1æã¯ ã¼ãã§ã)ã
getDay()ã®é±ã®ææ¥ãã¼ãããã«ã¦ã³ãããã¾ã(ã¼ãã¯æ¥æã§ã)- ç¯å²å¤ã®æ§æè¦ç´ ãã»ãããããã¨ãã
Dateã¯èªèº«ãèªåè£æ£ãã¾ããæ¥/æ/æã®å æ¸ç®ã®å ´åã«ã¯ä¾¿å©ã§ãã - æ¥ä»ã¯ããªç§ã§ä¸ããããå·®åã§å¼ãç®ãããã¨ãã§ãã¾ããããã¯ãæ°å¤ã«å¤æãããã¨ãã
Dateã¯ã¿ã¤ã ã¹ã¿ã³ãã«ãªãããã§ãã - ç´ æ©ãç¾å¨ã®ã¿ã¤ã ã¹ã¿ã³ããåå¾ããã«ã¯
Date.now()ã使ãã¾ãããã
å¤ãã®ä»ã®ã·ã¹ãã ã¨ã¯ç°ãªããJavaScriptã§ã®ã¿ã¤ã ã¹ã¿ã³ãã¯ç§ã§ã¯ãªããããªç§ã§ãã
ã¾ããç§ãã¡ã¯ããé«ç²¾åº¦ã®æéè¨æ¸¬ãå¿ è¦ãªå ´åãããã¾ããJavaScriptèªèº«ã¯ãã¤ã¯ãç§(100ä¸åã®1ç§)ã§ã®æéãè¨æ¸¬ããæ¹æ³ãæã£ã¦ãã¾ããããã»ã¨ãã©ã®ç°å¢ã¯ãããæä¾ãã¦ãã¾ããä¾ãã°ããã©ã¦ã¶ã¯ãã¤ã¯ãç§ã®ç²¾åº¦(å°æ°ç¬¬3æ¡)ã§ããã¼ã¸èªã¿è¾¼ã¿éå§ããã®ããªç§ãè¿ã performance.now() ãæã£ã¦ãã¾ãã:
alert(`Loading started ${performance.now()}ms ago`);
// ãã®ããã«ãªãã¾ã: "Loading started 34731.26000000001ms ago"
// .26 ã¯ãã¤ã¯ãç§ (260 ãã¤ã¯ãç§)
// å°æ°ç¹3æ¡ä»¥ä¸ã¯ç²¾åº¦ã¨ã©ã¼ã§ãæåã®3æ¡ã ããæ£ããã§ã
Node.js 㯠microtime ã¢ã¸ã¥ã¼ã«ãä»ã®æ¹æ³ãæã£ã¦ãã¾ããæè¡çã«ã¯ãã©ã®ããã¤ã¹ãç°å¢ã§ã精度ãããããã¨ãã§ãã¾ããåã« Date ã«ã¯ãªãã ãã§ãã
ã³ã¡ã³ã
<code>ã¿ã°ã使ã£ã¦ãã ãããè¤æ°è¡ã®å ´åã¯<pre>ãã10è¡ãè¶ ããå ´åã«ã¯ãµã³ãããã¯ã¹ã使ã£ã¦ãã ãã(plnkr, JSBin, codepenâ¦)ã