Open4
C#のDateTimeについて
備忘録共有
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);
}
}

- DateTime同士で日付を比較できるのか検証する
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...

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