概要 anchor.png Edit

指定日時、たとえば1990年12月25日の23時34分15.333秒のSysTimeを作る方法。

Page Top

ポイント anchor.png Edit

DateTimeとFracSecで指定します。 DateTimeはコンストラクタに、年、月、日、時、分、秒を指定し、FracSecはfromスタティックテンプレートメンバ関数で指定します。FracSecのfrom関数が受け付けるテンプレート引数は、"msecs"(ミリ秒), "usecs"(マイクロ秒)または"hnsecs"(ヘクトナノ秒)です。

auto dt = DateTime(1990,12,25,23,34,15);
auto fs = FracSec.from!"msecs"(333);
auto sysTime = SysTime(dt, fs);
Page Top

サンプルコード anchor.png Edit

Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
 
-
-
!
-
!
-
!
-
!
-
!
|
-
!
-
!
-
!
!
import std.stdio, std.datetime;
 
void main(string[] args)
{
    // DateTimeを作成
    auto dt = DateTime(1990,12,25,23,34,15);
    // FracSecを作成
    auto fs = FracSec.from!"msecs"(333);
    // DateTimeとFracSecからSysTimeを作成
    auto sysTime = SysTime(dt, fs);
    // 現在時刻取得
    auto currentTime = Clock.currTime();
    // 現在時刻と1990年12月25日の23時34分15.333秒の時間を取得
    auto duration = currentTime - sysTime;
    
    // 1990年12月25日の23時34分15.333秒
    writeln(sysTime);
    // 今(2011年2月20日の13時5分58.666秒)
    writeln(currentTime);
    // 期間は、 1051週間と4日、13時間31分43.333秒
    writeln(duration);
}
Page Top

実行結果 anchor.png Edit

1
2
3
4
$ dmd -run main
1990-Dec-25 23:34:15.333
2011-Feb-20 13:05:58.666
1051 weeks, 4 days, 13 hours, 31 minutes, 43 secs, and 333 ms

Page Top

投票とコメント anchor.png Edit

Choices Vote
大変参考になった1  
参考になった0  
あまり参考にならなかった0  
まったく参考にならなかった0  

No comment. コメント​/SampleCodes​/Phobos​/時間操作​/6Edit

Name:

Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 690, today: 1, yesterday: 1
Princeps date: 2011-02-20 (Sun) 13:11:35
Last-modified: 2011-02-20 (Sun) 13:11:35 (JST) (3986d) by ゲスト
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu