LoginSignup
0
0

More than 1 year has passed since last update.

【JS】時間操作まとめ【Vue】

Last updated at Posted at 2023-03-29

よく使う時間操作の処理をまとめました。
思いつきしだい随時追記していこうと思います。

「分」を「時間」に直したい時

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>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0