1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

.NETの時間表記のちょっとしたメモ

Posted at

image.png

Summary

.netの時間表記のちょっとしたメモ

こんな感じ

open System

/// このパソコンのタイムゾーンの確認
System.TimeZoneInfo.Local.Id |> printfn "%A" /// "Asia/Tokyo"


/// このパソコンに入ってるタイムゾーンの確認
System.TimeZoneInfo.GetSystemTimeZones()
|> Seq.iter ( fun n -> stdout.WriteLine n )

/// Africa/Abidjan
/// Africa/Accra
/// Africa/Addis_Ababa
/// ....




/// 日付をRFC3339形式にする関数
let toRFC3339 dt =
    System.Xml.XmlConvert.ToString( dt, System.Xml.XmlDateTimeSerializationMode.Utc )


/// RFC3339形式を普通の日付形式にする関数
let toDate rfc3339 =
    System.DateTime.Parse(rfc3339)


/// (JST)2017年4月9日11時という時刻
let JST = DateTime( 2017,4,9,11,0,0 )

JST |> stdout.WriteLine              /// 4/9/2017 11:00:00 AM
JST |> toRFC3339 |> stdout.WriteLine /// 2017-04-09T11:00:00Z


/// Convert UTC ( JST = UTC + 9 )
let UTC = JST |> System.TimeZoneInfo.ConvertTimeToUtc

UTC |> stdout.WriteLine              /// 4/9/2017 2:00:00 AM
UTC |> toRFC3339 |> stdout.WriteLine /// 2017-04-09T02:00:00Z


/// Convert EET ( EET = UTC + 3 summer, UTC + 2 winter )
let easternZone = TimeZoneInfo.FindSystemTimeZoneById("Europe/Rome")
let EET         = System.TimeZoneInfo.ConvertTime( JST ,easternZone )

EET |> stdout.WriteLine              /// 4/9/2017 4:00:00 AM
EET |> toRFC3339 |> stdout.WriteLine /// 2017-04-09T04:00:00Z
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?