Open4

C#のDateTimeについて

inolalalainolalala

備忘録共有

PlayerPrefsに日付とかを保存しときたかったのでささっと調べてメモ。
大した内容ではない。
DateTimeをStringで保存しておけば、ロードしてパースすれば年も日付もintにできる。
時間は試してないのでわからない、たぶんこれだとだめで、ToLongTimeStringでString化する必要がある、たぶん。

public class DateTimeTest : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        string dateStr = DateTime.Now.ToLongDateString();
        DateTime parsedDateTime = DateTime.Parse(dateStr);
        Debug.Log(parsedDateTime.Year);
        Debug.Log(parsedDateTime.Date.Month);
        Debug.Log(parsedDateTime.Date.Day);
    }
    
}

inolalalainolalala
  • DateTime同士で日付を比較できるのか検証する
inolalalainolalala

DateTime同士で日付を比較できるのか検証する
-> できる

今日の日付と昨日を比べる。

public class DateTimeTest : MonoBehaviour
{
    void Start()
    {
        string dateStr = DateTime.Now.ToLongDateString();
        DateTime parsedDateTime = DateTime.Parse(dateStr);
        DateTime yesterdayDateTime = new DateTime(2022, 7, 12);
        Debug.Log(parsedDateTime > yesterdayDateTime);
    }
}

The Prophecy is True...

inolalalainolalala

『比較したい日付が今日以前なのかどうか』を調べるコード

//サンプルで固定の値を入れているが、ここに比較したいDateTimeをいれる(PlayerPrefsで保存した日付とか)
DateTime yesterdayDateTime = new DateTime(2022, 8, 2);
bool isOneDayLater = yesterdayDateTime.Date.Day > DateTime.Now.AddDays(-1).Day;
Debug.Log(isOneDayLater);