JavaScript の勉強を始めたけど、色々と勝手が分からない為、
一度解決した問題の解決方法を忘れないようにメモする為の投稿です。
※胴体真っ二つにするくらいのマサカリ希望です。
1. datetime-local に現在日時を分まで入力する。
// input type = "datetime-local" に、現在日時を入力する方法。
// 表示例:2023/04/04 05:00
<input type = "datetime-local" id = "my_datetime_local">
<script>
var now = new Date();
//UTC 時刻に 9 時間足して日本時間にする。
now.setHours(now.getHours() + 9);
document.getElementById("my_datetime_local").value = now.toISOString().slice(0,16);
</script>
2. datetime-local に現在日時を秒まで入力する。
// input type = "datetime-local" に、現在日時を入力する方法。
// 表示例:2023/04/04 05:00:00
<input type = "datetime-local" id = "my_datetime_local">
<script>
var now = new Date();
//UTC 時刻に 9 時間足して日本時間にする。
now.setHours(now.getHours() + 9);
document.getElementById("my_datetime_local").value = now.toISOString().slice(0,19);
</script>
3. 日時の加減算
var now = new Date();
// 1 年加算
now.setFullYear(now.getFullYear() + 1);
// 1 年減算
now.setFullYear(now.getFullYear() - 1);
// 1 月加算
now.setMonth(now.getMonth() + 1);
// 1 月減算
now.setMonth(now.getMonth() - 1);
//1 日加算
now.setDate(now.getDate() + 1);
//1 日減算
now.setDate(now.getDate() - 1);
//1 時間加算
now.setHours(now.getHours() + 1);
// 1 時間減算
now.setHours(now.getHours() - 1);
// 1 分加算
now.setMinutes(now.getMinutes() + 1);
// 1 分減算
now.setMinutes(now.getMinutes() - 1);
// 1 秒加算
now.setSeconds(now.getSeconds() + 1);
// 1 秒減算
now.setSeconds(now.getSeconds() - 1);
4. 指定年月日の曜日を取得
// 今日の曜日を取得する例
// new Date() の引数の書式は "yyyy-MM-dd"。
// 引数の例:"2023-04-03"
// 下記は 2023-04-03 に実行したので「月」の一文字が表示された。
var date = new Date(now.toISOString().slice(0,10)); //又は var date = new Date("2023-04-03");
date.setHours(date.getHours() + 9);
var daysOfWeek = ['日', '月', '火', '水', '木', '金', '土'];
var dayOfWeek = daysOfWeek[date.getDay()];
alert(dayOfWeek);
5. 指定年月の末日を取得
//第一引数は西暦、第二引数は月、第三引数は 0。
var lastDay = new Date(2016,2, 0);
//29 が表示される。
alert(lastDay.getDate());