【Unity】C#で時刻取得の知識
C#で時刻取得に関する諸々
アプリ内で時刻を取得したい。
C#側で処理ができるみたい。
現在時刻の取得
DateTime.now
で端末時刻を取得できる。
例えば
DateTime Now = new DateTime.now
スマホアプリの場合、端末時刻を取得する。
端末の時刻をずらしていたら取得できる時刻もずれている。
取得した時刻を.Tostring()でstring変換するなり,int.parce()でint変換するなり, いろいろ処理。
DateTime型は読み取り専用のため代入処理が大事なのだ。
世界標準時の取得
多分こっちのほうがよく使う。
DateTime.UtcNow
世界標準時は DateTime.UtcNowで受け取れる。
UnixDateTime
Open Weather Mapを代表に時刻をweb上から受け取るとdt(UnixDateTime)形式のものも多い。
これは世界標準時1970年1月1日0時0分0秒からXX秒経過したよーって形式。
なぜこんなものが存在するのか。
これを使うメリットは何なのかは良くわからない_(:3」∠)_
UnixDateTimeとDateTimeの変換
UnixDateTimeからDateTimeへ変換
public DateTime ToDatetime(string _unixTime){ DateTime ReturnTime = new DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc); ReturnTime = ReturnTime.AddSeconds(double.Parse( _UnixTime)); }
DateTimeからUnixDateTimeへ変換
public double ToUnixDateTime(DateTime dateTime){ DateTime UnixTime = new DateTime(1970, 1, 1, 0, 0, 0, 0); return (double)(dateTime - UnixTime).TotalSeconds; }