よく使う時間操作の処理をまとめました。
思いつきしだい随時追記していこうと思います。
「分」を「時間」に直したい時
let m = 66 //66分
console.log(
`${Math.floor(m / 60)}時間${ m % 60 }分` // 1時間6分
)
日付からミリ秒を取得する
Dateオブジェクト.getTime()
let now = new Date();
console.log(now.getTime()); // 1654525795212
ミリ秒から秒、分、時間を求める
let time=now.getTime().getTime() // 1654525795212
let sec = Math.floor(time/1000)%60 //秒
let min = Math.floor(time/1000/60)%60 //分
let hours = Math.floor(time/1000/60/60)%24 //時間
特定の日付から曜日を得る
// 曜日を表す文字列の配列を作っておく
var WeekChars = [ "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" ];
// 日付オブジェクトから曜日を得る
var dObj = new Date( /* 何らかの日付 */ );
var wDay = dObj.getDay();
alert("指定の日は、" + WeekChars[wDay] + "です。")
「202301011200」 を 「2023-01-01 12:00」 の形式にする
let datetime = 202301011200
datetime = datetime.replace(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/, '$1-$2-$3 $4:$5')
console.log(datetime) //2023-01-01 12:00
現在日時を取得し、"2022/12/ (木) 11:21" ←この形にする
var dayOfWeekStr = ['日', '月', '火', '水', '木', '金', '土']
function pad(num) {
return String(num).padStart(2, '0')
}
function formatDate(date) {
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}(${dayOfWeekStr[date.getDay()]})`
}
let now = new Date()
let currentHour = pad(now.getHours())
let currentSecond = pad(now.getMinutes())
let dateTime = `${formatDate(now)}${currentHour}:${currentSecond}`
console.log(dateTime) //2022/12/05 (木) 11:21
昨日を取得する
// 現在の日付を取得
const today = new Date();
// 1日分のミリ秒数を計算
const oneDay = 24 * 60 * 60 * 1000;
// 1日前の日付を計算
const yesterday = new Date(today.getTime() - oneDay);
// 結果を出力
console.log(yesterday);
new Date()で現在の日付を取得し、getTime()メソッドを使用してミリ秒単位での時刻を取得します。
次に、1日分のミリ秒数を計算し、現在の日付の時刻から1日分を引いて、1日前の日付を計算します。
時間同士の差を求める
let date1 = new Date("2022-01-02T13:58:00+09:00")
let date2 = new Date("2022-01-02T14:05:00+09:00")
let diff = date2.getTime() - date1.getTime()
console.log(diff)
時間の0埋め
.toString().padStart(2, "0")
とすることで、
9:3のとき → 09:03
13:6のとき → 13:06
10:13とき → 10:13 (そのまま)
と、適宜0埋めしてくれます。
<div>
{{Time.getHours().toString().padStart(2, “0")}}:{{Time.getMinutes().toString().padStart(2, “0”)}}
</div>