VB.NET覚書

VB.NETの覚書
[個人メモ] [仕事メモ] [アイデア] [Ruby]
[TIPS] [対応表] [コメント書き方] [.NET Tips] [VB中学校] [VB.NET の入門サイト] [VB.NET コーディング標準 ] [VBレスキュー] [NonSoft]

2015-08-31

文字列を時刻に変換

'DateTime値に変換する文字列
Dim s1 As String = "1992/2/16 12:15:12"
'文字列をDateTime値に変換する
Dim dt1 As DateTime = DateTime.Parse(s1)
'結果を表示する
Console.WriteLine(dt1)
'1992/02/16 12:15:12

'時間が省略されている
Dim s2 As String = "1992/2/16"
Dim dt2 As DateTime = DateTime.Parse(s2)
Console.WriteLine(dt2)
'1992/02/16 0:00:00
'時間を省略すると、「0:00:00」となる

'日付が省略されている
Dim s3 As String = "12:15:12"
Dim dt3 As DateTime = DateTime.Parse(s3)
Console.WriteLine(dt3)
'2003/03/12 12:15:12
'日付を省略すると、現在の日付となる

時刻差

Dim startDateTime, endDateTime As DateTime
……
Dim interval AS TimeSpan = endDateTime.Subtract(startDateTime)

TimeSpan構造

 時間,すなわち2つの時刻の差を格納するにはTimeSpan構造体を使う。形式は,「d.hh:mm:ss.ff」で,負の値も取れる。dは日,hhは24時間制の時間,mmは分,ssは秒,ffは1秒未満の端数である。

 TimeSpan型は,時間間隔をタイマ刻みの値で管理する。タイマ刻みは100ナノ秒である。TimeSpan型の値には,TimeSpan.MinValueからTimeSpan.MaxValueまでの範囲の値を格納できる。

 似たデータ型にDateTime値型がある。DateTime値型とTimeSpan値型の違う点は,DateTimeがある瞬間を表し,TimeSpanがある時刻からある時刻までの時間間隔を表すことである。例えばあるDateTime型の値を別のDateTime型の値から減算すると,それら2つの値の時間間隔,つまりTimeSpan型の値を取得できる。また,現在を表すDateTime型の値に正のTimeSpan型の値を加算すると,将来の日付が得られる。

サンプルコードを見る


名前空間
System
対応バージョン
.NET Framework 2.0,1.1,1.0
.NET Compact Framework 2.0,1.0
主なプロパティ
MaxValue
TimeSpanの最大値。この値はプロパティではなく,パブリック・フィールドである。

MinValue
TimeSpanの最小値。この値はプロパティではなく,パブリック・フィールドである。

TicksPerDay
1日分に相当するタイマ刻みの数。すなわち,8640億である。この値はプロパティではなく,パブリック・フィールドである。

TicksPerHour
1時間を表すタイマ刻みの数。すなわち,360億である。この値はプロパティではなく,パブリック・フィールドである。

TicksPerMillisecond
1ミリ秒を表すタイマ刻みの数。すなわち,1万である。この値はプロパティではなく,パブリック・フィールドである。

TicksPerMinute
1分を表すタイマ刻みの数。すなわち,6億である。この値はプロパティではなく,パブリック・フィールドである。

TicksPerSecond
1秒を表すタイマ刻みの数。すなわち,1000万である。この値はプロパティではなく,パブリック・フィールドである。

Zero
0のTimeSpan値。この値はプロパティではなく,パブリック・フィールドである。

Days
TimeSpan構造体が表す時間間隔の日数部分。時間以下の端数は切り捨てられる。

Hours
TimeSpan構造体が表す時間間隔の時間部分。日数部分と,分以下の端数は切り捨てられる。

Milliseconds
TimeSpan構造体が表す時間間隔の,秒未満の端数部分。

Minutes
TimeSpan構造体が表す時間間隔の,分の部分。時間以上と秒以下の端数は切り捨てられる。

Seconds
TimeSpan構造体が表す時間間隔の,秒の部分。分以上と秒未満の端数は切り捨てられる。

Ticks
TimeSpan構造体が表す時間間隔を表すタイマ刻みの数。

TotalDays
TimeSpan構造体が表す時間間隔を日単位で取得する。時間以下は,小数点以下の値として得られる。例えば,「1.5」は1日と12時間を表す。

TotalHours
TimeSpan構造体が表す時間間隔を時間単位で取得する。分以下は,小数点以下の値として得られる。例えば,「25.5」は1日と1時間30分を表す。

TotalMilliseconds
TimeSpan構造体が表す時間間隔をミリ秒単位で取得する。例えば,「12300」は12.3秒を表す。

TotalMinutes
TimeSpan構造体が表す時間間隔を分単位で取得する。例えば,「123.5」は2時間3分30秒を表す。

TotalSeconds
TimeSpan構造体が表す時間間隔を秒単位で取得する。例えば,「123.5」は2分3.5秒を表す。

主なメソッド
Add
引数に指定したTimeSpan型の値を加算する。

Compare
2つのTimeSpan型の値を比較し,両者の関係を示す整数を返す。このメソッドはstaticメソッドで,比較する2つの値を引数に指定する。返り値が-1のときは,第1引数の値が第2引数の値よりも小さい。返り値が0のときは,第1引数の値と第2引数の値が等しい。返り値が1のときは,第1引数の値が第2引数の値よりも大きい。

CompareTo
指定したオブジェクトまたは値型とこのインスタンスとを比較し,これらの相対値を示す値を返す。

Duration
絶対値を表す新しいTimeSpan型の値を返す。

FromDays
引数に指定した日数を表すTimeSpan型の値を返す。時間以下の端数部分は,小数で表す。例えば引数に1.5を指定すると,「1.12:00:00.0」を表す値が得られる。

FromHours
引数に指定した時間数を表すTimeSpan型の値を返す。分以下の端数部分は,小数で表す。例えば引数に25.5を指定すると,「1.01:30:00.0」を表す値が得られる。

FromMilliseconds
引数に指定したミリ秒数を表すTimeSpan型の値を返す。例えば引数に12345を指定すると,「00:00:12.345」を表す値が得られる。

FromMinutes
引数に指定した分数を表すTimeSpan型の値を返す。秒以下の端数部分は,小数で表す。例えば引数に1.5を指定すると,「0.00:01:30.0」を表す値が得られる。

FromSeconds
引数に指定した秒数を表すTimeSpan型の値を返す。秒未満の端数部分は,小数で表す。例えば引数に123.5を指定すると,「0.00:02:03.5」を表す値が得られる。

FromTicks
指定したタイマ刻み値を表すTimeSpan型の値を返す。

Negate
このインスタンスの値と符号が逆の値を格納するTimeSpan型の値を返す。

op_Addition(+演算子)
2つのTimeSpan型の値を加算する。

op_Equality(==演算子)
2つのTimeSpan型の値が等しいかどうかを調べる。

op_GreaterThan(>演算子)
TimeSpan型の値が,もう1つのTimeSpan型の値よりも大きいかどうかを調べる。

op_GreaterThanOrEqual(>=演算子)
TimeSpan型の値が,もう1つのTimeSpan型の値以上かどうかを調べる。

op_Inequality(!=演算子)
2つのTimeSpan型の値が等しくないかどうかを調べる。

op_LessThan(<演算子)
TimeSpan型の値が,もう1つのTimeSpan型の値よりも小さいかどうかを調べる。

op_LessThanOrEqual(<=演算子)
TimeSpan型の値が,もう1つのTimeSpan型の値以下かどうかを調べる。

op_Subtraction(-演算子)
指定したもう1つのTimeSpan型の値から,指定したTimeSpan型の値を減算する。

op_UnaryNegation(-符号)
指定したTimeSpan型の値と符号が逆のTimeSpan型の値を返す。

op_UnaryPlus(+符号)
指定したTimeSpan型の値と同じ値を返す。

Parse
時間を表す文字列を,TimeSpan型の値に変換する。

Subtract
指定したTimeSpan型の値を減算する。

ToString
文字列形式に変換する。
トラックバック - http://sub.g.hatena.ne.jp/garyo/20150831