JavaScript

Intl.DateTimeFormat.prototype.formatRangeToParts() メソッド


編集:2023.01.09 by T.A.

[Edge]。→

Intl.DateTimeFormat により指定の日時範囲を書式化した各部分データ オブジェクトの配列で返します。

構文
Intl.DateTimeFormat.formatRangeToParts(startDate, endDate)
Intl.DateTimeFormat Intl.DateTimeFormat
startDate ¶開始日時を表す Date または数値(協定世界時(UTC)での 1970年1月1日 00:00:00から経過のミリ秒)
endDate ¶終了日時を表す Date 数値(協定世界時(UTC)での 1970年1月1日 00:00:00から経過のミリ秒)

startDateendDate はどちらが大きくても小さくても構わないようです。

戻り値

各部分のデータのオブジェクト(プロパティ「type」「value」「source」と各値を持つ)の配列。

関連

formatRange()

//●指定の仕方
DA=new Intl.DateTimeFormat('ja-JP', {dateStyle:'long', timeStyle:'long'});  //日付、時刻。
D=DA.formatRangeToParts(0, 1000);  //数値(協定世界時(UTC)での 1970年1月1日 00:00:00から経過のミリ秒)で指定。
	//=[object]:[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
	//0=[object]:[object Object]
	//1=[object]:[object Object]
	//2=[object]:[object Object]
	//…¶省く
	//20=[object]:[object Object]
D=DA.formatRangeToParts(new Date('2020'), new Date('2022'));  //Dateオブジェクトで指定。
	//=[object]:[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
	//0=[object]:[object Object]
	//1=[object]:[object Object]
	//2=[object]:[object Object]
	//…¶省く
	//26=[object]:[object Object]

//●Intl.DateTimeFormat の指定による色々
//○日付を設定しておく
DT1=new Date('2020-10-05T09:20:30.100');
DT2=new Date('2020-10-06T09:35:30.200');

DA=new Intl.DateTimeFormat('ja-JP', {dateStyle:'long'});  //日付。
D=DA.formatRangeToParts(DT1, DT2);  //=[object]:[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
	//0=[object]:[object Object]
	//1=[object]:[object Object]
	//2=[object]:[object Object]
	//3=[object]:[object Object]
	//4=[object]:[object Object]
	//5=[object]:[object Object]
	//6=[object]:[object Object]
	//7=[object]:[object Object]
	//8=[object]:[object Object]
	//9=[object]:[object Object]
	//10=[object]:[object Object]
//D[0]=[object]:[object Object]
	//type=[string]:year
	//value=[string]:2020
	//source=[string]:startRange
//D[1]=[object]:[object Object]
	//type=[string]:literal
	//value=[string]:/
	//source=[string]:startRange
//D[2]=[object]:[object Object]
	//type=[string]:month
	//value=[string]:10
	//source=[string]:startRange
//D[3]=[object]:[object Object]
	//type=[string]:literal
	//value=[string]:/
	//source=[string]:startRange
//D[4]=[object]:[object Object]
	//type=[string]:day
	//value=[string]:05
	//source=[string]:startRange
//D[5]=[object]:[object Object]
	//type=[string]:literal
	//value=[string]:~
	//source=[string]:shared
//D[6]=[object]:[object Object]
	//type=[string]:year
	//value=[string]:2020
	//source=[string]:endRange
//D[7]=[object]:[object Object]
	//type=[string]:literal
	//value=[string]:/
	//source=[string]:endRange
//D[8]=[object]:[object Object]
	//type=[string]:month
	//value=[string]:10
	//source=[string]:endRange
//D[9]=[object]:[object Object]
	//type=[string]:literal
	//value=[string]:/
	//source=[string]:endRange
//D[10]=[object]:[object Object]
	//type=[string]:day
	//value=[string]:06
	//source=[string]:endRange

Intl.DateTimeFormat() コンストラクター


テスト