DateTime

説明

日時の取得および操作を行う関数を含むクラスです。

このDateTimeクラスを使用することで、FlexSim時間として格納される日時の作成および操作が可能となります。FlexSim時間は、1601年1月1日から始まる秒数で定義されます。FlexSim時間は、モデル時間単位の指定に影響を受けることはなく、常に秒単位となります。

モデル設定

新しいモデルを開始する際、モデルの開始日時を指定できます。モデルの開始日時と停止時間は、後でシミュレーションコントロールバーの実行時間オプションで変更できます。[モデル設定]ウィンドウで日時表示の形式を指定することもできます。これらの形式は、DateTimeを文字列として表示したり、DateTimeを作成する際に使用します。

Excelのインポート/エクスポート

Excelドキュメントから日時をインポートする場合、文字列もしくはExcel時間の数値としてインポートできます。このDateTimeクラスを使用することで、それらの文字列やExcel時間をFlexSim時間に変換することができます。エクスポートに関しては、DateTime.toString()メソッドを使用して、形式設定された日付および/または時間をグローバルテーブルに書き込むことができます。

ダッシュボードチャート

時間プロットなどのダッシュボードチャートでは、FlexSim時間を使用してXまたはY軸上に日時を表示することができます。この操作は、統計コレクターでDateTimeを記録することで行います。

プロパティ

day 月の日付
dayOfWeek 週の曜日
hour 1日における時間
millisecond 1秒におけるミリ秒。
minute 1時間における分。
month 1年における月
second 1分における秒。
totalDays 1601年1月1日から始まる日数。
totalHours 1601年1月1日から始まる時間数。
totalMilliseconds 1601年1月1日から始まるミリ秒数。
totalMinutes 1601年1月1日から始まる分数。
totalSeconds 1601年1月1日から始まる秒数。
value FlexSim時間の日時の値。
year

メソッド

toString DateTimeを人が判読できる文字列に変換します。

コンストラクター

DateTime DateTimeを作成します。

静的メソッド

compose コンポーネントパートから新しいDateTimeを作成します。
days 日数から新しいDateTimeを作成します。
fromExcelTime Excel時間をFlexSim時間に変換します。
hours 時間数から新しいDateTimeを作成します。
milliseconds ミリ秒数から新しいDateTimeを作成します。
minutes 分数から新しいDateTimeを作成します。
seconds 秒数から新しいDateTimeを作成します。

演算子

- あるDateTimeから別のDateTimeを減算します。
!= 2つのDateTimeを比較します。
+ 2つのDateTimeを加算します。
+= 2つのDateTimeの和をDateTimeに代入します。
< 2つのDateTimeを比較します。
<= 2つのDateTimeを比較します。
-= 2つのDateTimeの差をDateTimeに代入します。
== 2つのDateTimeを比較します。
> 2つのDateTimeを比較します。
>= 2つのDateTimeを比較します。

詳細

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.day

readonly double day

説明

月の日付

値の範囲は1~31。double currentDay = Model.dateTime.day;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.dayOfWeek

readonly double dayOfWeek

説明

週の曜日

値の範囲は1~7で、1が日曜日。double currentDayOfWeek = Model.dateTime.dayOfWeek;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.hour

readonly double hour

説明

1日における時間

値の範囲は0~23で、0時は12:00:00AM~12:59:59AMです。double currentHour = Model.dateTime.hour;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.millisecond

readonly double millisecond

説明

1秒におけるミリ秒。

値の範囲は0~999。double currentMillisecond = Model.dateTime.millisecond;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.minute

readonly double minute

説明

1時間における分。

値の範囲は0~59。double currentMinute = Model.dateTime.minute;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.month

readonly double month

説明

1年における月

値の範囲は1~12。double currentMonth = Model.dateTime.month;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.second

readonly double second

説明

1分における秒。

値の範囲は0~59。double currentSecond = Model.dateTime.second;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.totalDays

readonly double totalDays

説明

1601年1月1日から始まる日数。

浮動小数点数を返し、小数部分は、現在の日数を上回る、1日未満の時間を表します。double totalDays = Model.dateTime.totalDays;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.totalHours

readonly double totalHours

説明

1601年1月1日から始まる時間数。

浮動小数点数を返し、小数部分は、現在の時間数を上回る、1時間未満の時間を表します。double totalHours = Model.dateTime.totalHours;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.totalMilliseconds

readonly double totalMilliseconds

説明

1601年1月1日から始まるミリ秒数。

浮動小数点数を返し、小数部分は、現在のミリ秒数を上回る、1ミリ秒未満の時間を表します。double totalMilliseconds = Model.dateTime.totalMilliseconds;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.totalMinutes

readonly double totalMinutes

説明

1601年1月1日から始まる分数。

浮動小数点数を返し、小数部分は、現在の分数を上回る、1分未満の時間を表します。double totalMinutes = Model.dateTime.totalMinutes;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.totalSeconds

readonly double totalSeconds

説明

1601年1月1日から始まる秒数。

DateTime.valueと等しいか、DateTimeをdoubleに変換した値です。double totalSeconds = Model.dateTime.totalSeconds;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.value

readonly double value

説明

FlexSim時間の日時の値。

このプロパティはDateTime.totalSecondsと等しいか、DateTimeをdoubleに変換した値です。

double currentTime = Model.dateTime.value;
double currentTime = Model.dateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.year

readonly double year

説明

double currentYear = Model.dateTime.year;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.toString()

string toString( string format = )

パラメータ

format formatがNULLの場合、デフォルトのWindows日時形式が使用されます。

説明

DateTimeを人が判読できる文字列に変換します。

このメソッドでは、形式設定にWindows設定を使用します。カスタム形式を使用する場合、次の形式オプションを利用できます。
指定子説明
%%パーセント文字(%)%
%n復帰改行文字
%t水平タブ文字
%Y4桁年2017
%y年の下2桁17
%C年の上2桁20
%b月の名前(短縮)Oct
%B月の名前(短縮なし)October
%m数値(1~12)で表した月10
%U1年における週を数値(00~53)で表し、日曜日を週の始めとする15
%W1年における週を数値(00~53)で表し、月曜日を週の始めとする15
年/月における日数
%j1年における何日目かを3桁の数値(001~366)で表す045
%d月における何日目かを2桁の数値(01~31)で表す05
%e月における何日目かを1桁の数値(1~31)で表す5
週の曜日
%a曜日の名前(短縮)Fri
%A曜日の名前(短縮なし)Friday
%w曜日を数値(0~6)で表し、0を日曜日とする3
時間、分、秒
%H24時間表示の時間を2桁の数値(00~23)で表す08
%I12時間表示の時間を2桁の数値(01~12)で表す08
%M分を2桁の数値(00~59)で表す30
%S秒を2桁の数値(00~60)で表す25
その他
%c標準日時(Windowsのデフォルト設定)09/24/17 08:00:00
%x標準年月日(Windowsのデフォルト設定)2017-09-24
%X標準時間(Windowsのデフォルト設定)08:00:00
%D%m/%d/%yと等しい2017-09-24
%F%Y-%m-%dと等しい2017-09-24
%r12時間表示(Windows設定を基準とする)08:00:00
%R%H:%Mと等しい08:00
%T%H:%M:%Sと等しい08:00:00
%pAMまたはPM(Windows設定を基準とする)AM
%zUTC時間からのオフセット-0600
%Zタイムゾーン名またはその略称山地夏時間

string currentDateTime = Model.dateTime.toString();
string currentDateTime = Model.dateTime.toString("%H:%M:%S");
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTimeコンストラクター

DateTime( double time )
DateTime( string date , string format = 0 )
DateTime( int days , int hours , int minutes = 0 , int seconds = 0 , int milliseconds = 0 )

パラメータ

time 1601年1月1日から始まる秒数。
date 日付の文字列表示。
format formatがNULLの場合、デフォルトのWindows日時形式が使用されます。
days 最後のDateTimeに追加する日数
hours 最後のDateTimeに追加する時間数(通常は24未満)
minutes 最後のDateTimeに追加する分数(通常は60未満)
seconds 最後のDateTimeに追加する秒数(通常は60未満)
milliseconds 最後のDateTimeに追加するミリ秒数(通常は1000未満)

説明

DateTimeを作成します。


DateTime theDate = DateTime(3600);
			
2つのDateTimeの和を求める場合、時間は期間として処理されます。たとえば、以下のように設定するとします。

DateTime futureDate = Model.dateTime + DateTime(340); //Add 340 seconds to the current model time
			

2番目のコンストラクターを使用して、日付の文字列表示からDateTimeを作成できます。形式設定オプションについては、toString()を参照してください。

DateTime theDate = DateTime("12/31/2019 8:00:00 AM", "%m/%d/%Y %I:%M:%S %p");
			

3番目のコンストラクターを使用して、直近の重要マーカーまで値を切り捨てたDateTimeを作成できます。たとえば、現在のモデル時間が特定の日における8:00~9:00の場合、次のコードを使用することで、同日の8:00を表す日時を作成できます。

DateTime roundedToHour = DateTime(Model.dateTime.totalDays, Model.dateTime.hours);
			
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.compose()

static DateTime compose( int year , int month = 1 , int day = 1 , int hour = 0 , int minute = 0 , int second = 0 , int millisecond = 0 )

パラメータ

year DateTimeの年
month DateTimeの月(1~12)
day DateTimeの日(1~28、29、30、31)
hour DateTimeの時間(0~23)
minute DateTimeの分(0~59)
second DateTimeの秒(0~59)
millisecond DateTimeのミリ秒(0~999)

説明

コンポーネントパートから新しいDateTimeを作成します。

DateTime composedDateTime = DateTime.compose(2019, 12, 31, 23, 59, 59);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.days()

static DateTime days( double days )

説明

日数から新しいDateTimeを作成します。

DateTime oneDay = DateTime.days(1);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.fromExcelTime()

static DateTime fromExcelTime( double excelTime )

説明

Excel時間をFlexSim時間に変換します。

Excelのインポートを実行する際、[データの区別]は[値のみ]に設定できます。これによって、日付を格納するセルがExcel時間単位の数値としてFlexSimにインポートされます。このメソッドでは、そのExcel時間をFlexSim時間に変換します。DateTime dateTime = DateTime.fromExcelTime(excelTime);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.hours()

static DateTime hours( double hours )

説明

時間数から新しいDateTimeを作成します。

DateTime oneHour = DateTime.hours(1);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.milliseconds()

static DateTime milliseconds( double milliseconds )

説明

ミリ秒数から新しいDateTimeを作成します。

DateTime oneMillisecond = DateTime.milliseconds(1);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.minutes()

static DateTime minutes( double minutes )

説明

分数から新しいDateTimeを作成します。

DateTime oneMinute = DateTime.minutes(1);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.seconds()

static DateTime seconds( double seconds )

説明

秒数から新しいDateTimeを作成します。

DateTime oneSecond = DateTime.seconds(1);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator -

DateTime operator -( DateTime other )

パラメータ

other このDateTimeから減算するDateTime。

戻り値

DateTime 結果として得られるDateTime。

説明

あるDateTimeから別のDateTimeを減算します。


DateTime subTwoDates = Model.dateTime - dateTime;
DateTime subOneDay = Model.dateTime - DateTime.days(1);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator !=

int operator !=( DateTime other )

パラメータ

other このDateTimeと比較するDateTime。

戻り値

int 2つのDateTimeが異なる場合には真となり、それ以外では偽となります。

説明

2つのDateTimeを比較します。

int differentDates = dateTime != Model.dateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator +

DateTime operator +( DateTime other )

パラメータ

other このDateTimeに加算するDateTime。

戻り値

DateTime 結果として得られるDateTime。

説明

2つのDateTimeを加算します。


DateTime addTwoDates = Model.dateTime + dateTime;
DateTime addOneDay = Model.dateTime + DateTime.days(1);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator +=

DateTime operator +=( DateTime otherDateTime )

パラメータ

otherDateTime このDateTimeに加算するDateTime。

戻り値

DateTime 結果として得られるDateTime。

説明

2つのDateTimeの和をDateTimeに代入します。

thisDateTime += otherDateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator <

int operator <( DateTime other )

パラメータ

other このDateTimeと比較するDateTime。

戻り値

int このDateTimeが他のDateTime未満である場合は真となり、それ以外では偽となります。

説明

2つのDateTimeを比較します。

int pastDate = dateTime < Model.dateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator <=

int operator <=( DateTime other )

パラメータ

other このDateTimeと比較するDateTime。

戻り値

int このDateTimeが他のDateTime以下の場合は真となり、それ以外では偽となります。

説明

2つのDateTimeを比較します。

int pastDate = dateTime <= Model.dateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator -=

DateTime operator -=( DateTime otherDateTime )

パラメータ

otherDateTime このDateTimeから減算するDateTime。

戻り値

DateTime 結果として得られるDateTime。

説明

2つのDateTimeの差をDateTimeに代入します。

thisDateTime += otherDateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator ==

int operator ==( DateTime other )

パラメータ

other このDateTimeと比較するDateTime。

戻り値

int 2つのDateTimeが完全に同じ場合には真となり、それ以外では偽となります。

説明

2つのDateTimeを比較します。

int sameDate = dateTime == Model.dateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator >

int operator >( DateTime other )

パラメータ

other このDateTimeと比較するDateTime。

戻り値

int このDateTimeが他のDateTimeより大きい場合は真となり、それ以外では偽となります。

説明

2つのDateTimeを比較します。

int futureDate = dateTime > Model.dateTime;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

DateTime.operator >=

int operator >=( DateTime other )

パラメータ

other このDateTimeと比較するDateTime。

戻り値

int このDateTimeが他のDateTime以上の場合は真となり、それ以外では偽となります。

説明

2つのDateTimeを比較します。

int futureDate = dateTime >= Model.dateTime;