ALEXAビルトインライブラリAMAZON.DATE使用上の注意

ALEXAビルトインライブラリAMAZON.DATE使用上の注意:

dateスロットにALEXAビルトインライブラリAMAZON.DATEをセットして、日付情報(仮にstrと定義)を受けとり、それをDate関数に代入する場合、いくつかの注意点があるので、まとめておく。


AMAZON.DATE の特徴

① 2019年1月1日というと、文字列”2019-01-01”を返す。ただ、
② 2019年1月というと、文字列"2019-01-00"を返すので注意が必要。また、
③ 2019年というと、何も返さないという特徴がある。


① ”2019-01-01”の場合

日付をしてされた場合、そのまま以下でDate関数に代入できる。

let str = slots.date.value; 
    let year = Number(str.substr(0,4)); 
    let month = Number(str.substr(5,2))-1; 
    let day = Number(str.substr(8,2)); 
    let date = new Date(year, month, day); 


② "2019-01-00"の場合

月だけを指定された場合、day=0になってしまう。月の初日(〇月1日)を表現するためには、強制的にday=1とする必要がある。

if (day === 0){ 
    day = 1; 
    } 


③ 何も返さない場合

年だけを指定された場合、AMAZON.DATEでは受け取れないので、代わりに、yearスロットにALEXAビルトインライブラリAMAZON.FOUR_DIGIT_NUMBERをセットして、年情報を受け取る。元日(1月1日)を表現するためには、以下の処理を行う。

let str = slots.year.value; 
    let year = Number(str.substr(0,4)); 
    let date = new Date(year, 0, 1); 


Date関数の値の差を日、時間、分、秒で表現する

let date1 = new Date(year1, month1, day1); 
    let date2 = new Date(year2, month2, day2); 
    let dif = date2-date1; 
 
    let difday = Math.floor(dif/1000/60/60/24); 
    let difhour = Math.floor(dif/1000/60/60)%24; 
    let difmin = Math.floor(dif/1000/60)%60;   
    let difsec = Math.floor(dif/1000)%60; 

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)