VB.NETで、MicrosoftExcelのようなテキストで日付を取得したい
例:MSExcelで日付を入力:2013年1月1日、フォーマットをテキストに設定すると、出力41275が得られます。
vb.netでこれを行うにはどうすればよいですか?
VB.NETで、MicrosoftExcelのようなテキストで日付を取得したい
例:MSExcelで日付を入力:2013年1月1日、フォーマットをテキストに設定すると、出力41275が得られます。
vb.netでこれを行うにはどうすればよいですか?
DateTime.ToOADateメソッドが必要になります。
Module Module1
Sub Main()
Dim dt As DateTime = DateTime.Parse("1/1/2013")
Console.WriteLine(dt.ToOADate())
Console.ReadLine()
End Sub
End Module
上記のリンクから:
OLEオートメーションの日付は、1899年12月30日の午前0時前後の日数を整数で表し、その日の時間を24で割った値を小数部分で表す浮動小数点数として実装されます。たとえば、12月31日の午前0時です。 1899は1.0で表されます。1900年1月1日午前6時は2.25で表されます。1899年12月29日の深夜は-1.0で表されます。1899年12月29日の午前6時は、-1.25で表されます。
日付の違いを行う
DateDiff(DateInterval.Day, Cdate("01/01/2013"),Cdate("01/01/1900"))-2
OUTPUT:
-41275
DateDiff(DateInterval.Day, Cdate("01/01/1900"),Cdate("01/01/2013"))+2
OUTPUT:
41275
ライブデモを参照