<< Unity開発メモ:iPhone解像度 | main | Unity開発メモ:文字列のフォーマット >>

Unity開発メモ:時刻の保存

 現在時刻を保存するメモ。
DateTime.Now.Ticksで"12:00:00 01/01/0001"からの経過秒をlong型で取得できる。PlayerPrefs.SetIntだと桁溢れするため、これをStringで保存する。
復元はConvert.ToInt64でlong型に戻してDateTimeのコンストラクタに渡す。

【保存】
var ticks : long = DateTime.Now.Ticks;
PlayerPrefs.SetString("datetime", ticks.ToString());
PlayerPrefs.Save();

【復元】
var dateString : String = PlayerPrefs.GetString("datetime");
var ticks : long = Convert.ToInt64(dateString);
print(new DateTime(ticks));

なお、日付型のSystem.DateTimeはデフォルトでは使えないので、コードの先頭に
import System; が必要。

また、時刻の差分(秒)は、このように求める。
var diff : long = (newTicks - oldTicks) / (1000 * 1000 * 10);
(Ticksは100ナノ秒)

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< September 2018 >>
selected entries
categories
archives
recent comment
others
mobile
qrcode