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を比較します。 | 
詳細
DateTime.value
readonly double value
説明
FlexSim時間の日時の値。
このプロパティはDateTime.totalSecondsと等しいか、DateTimeをdoubleに変換した値です。
double currentTime = Model.dateTime.value;
double currentTime = Model.dateTime;DateTime.toString()
| string toString( string format = ) | 
パラメータ
| format | formatがNULLの場合、デフォルトのWindows日時形式が使用されます。 | 
説明
DateTimeを人が判読できる文字列に変換します。
このメソッドでは、形式設定にWindows設定を使用します。カスタム形式を使用する場合、次の形式オプションを利用できます。| 指定子 | 説明 | 例 | 
|---|---|---|
| %% | パーセント文字(%) | % | 
| %n | 復帰改行文字 | |
| %t | 水平タブ文字 | |
| 年 | ||
| %Y | 4桁年 | 2017 | 
| %y | 年の下2桁 | 17 | 
| %C | 年の上2桁 | 20 | 
| 月 | ||
| %b | 月の名前(短縮) | Oct | 
| %B | 月の名前(短縮なし) | October | 
| %m | 数値(1~12)で表した月 | 10 | 
| 週 | ||
| %U | 1年における週を数値(00~53)で表し、日曜日を週の始めとする | 15 | 
| %W | 1年における週を数値(00~53)で表し、月曜日を週の始めとする | 15 | 
| 年/月における日数 | ||
| %j | 1年における何日目かを3桁の数値(001~366)で表す | 045 | 
| %d | 月における何日目かを2桁の数値(01~31)で表す | 05 | 
| %e | 月における何日目かを1桁の数値(1~31)で表す | 5 | 
| 週の曜日 | ||
| %a | 曜日の名前(短縮) | Fri | 
| %A | 曜日の名前(短縮なし) | Friday | 
| %w | 曜日を数値(0~6)で表し、0を日曜日とする | 3 | 
| 時間、分、秒 | ||
| %H | 24時間表示の時間を2桁の数値(00~23)で表す | 08 | 
| %I | 12時間表示の時間を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 | 
| %r | 12時間表示(Windows設定を基準とする) | 08:00:00 | 
| %R | %H:%Mと等しい | 08:00 | 
| %T | %H:%M:%Sと等しい | 08:00:00 | 
| %p | AMまたはPM(Windows設定を基準とする) | AM | 
| %z | UTC時間からのオフセット | -0600 | 
| %Z | タイムゾーン名またはその略称 | 山地夏時間 | 
string currentDateTime = Model.dateTime.toString();
string currentDateTime = Model.dateTime.toString("%H:%M:%S");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);
			
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);
			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);DateTime.fromExcelTime()
| static DateTime fromExcelTime( double excelTime ) | 
説明
Excel時間をFlexSim時間に変換します。
Excelのインポートを実行する際、[データの区別]は[値のみ]に設定できます。これによって、日付を格納するセルがExcel時間単位の数値としてFlexSimにインポートされます。このメソッドでは、そのExcel時間をFlexSim時間に変換します。DateTime dateTime = DateTime.fromExcelTime(excelTime);