Unity 获取当前日期的短时间和处于早中午晚哪个时间段

在我们手机中我们总会看到下图所示的时间,时间段+当前时间,假如我们要实现这个效果应该怎么做呢。

Unity 获取当前日期的短时间和处于早中午晚哪个时间段_第1张图片

首先是使用DateTime.Now获取当前时间: 

 // 获取当前时间
 DateTime currentTime = DateTime.Now;

其次由当前时间获取短时间,可以使用以下两个方法:

  //获取当前的短时间 法一
  //string shortTime = currentTime.ToString("HH:mm");

  //获取当前的短时间 法二
  string shortTime = currentTime.ToShortTimeString();

然后是通过当前小时数判断处于哪个时间段: 

    string timeOfDay = GetTimeOfDayString(currentTime.Hour);  //通过小时判断时间段

    public string GetTimeOfDayString(int hour)
    {
        if (hour >= 5 && hour < 9)
        {
            return "早上";
        }
        else if (hour >= 9 && hour < 12)
        {
            return "上午";
        }
        else if (hour >= 12 && hour < 14)
        {
            return "中午";
        }
        else if (hour >= 14 && hour < 18)
        {
            return "下午";
        }
        else if (hour >= 18 && hour < 20)
        {
            return "傍晚";
        }
        else
        {
            return "晚上";
        }
    }

 最后把短时间和时间段赋给Text文本展示:

text.text = timeOfDay + shortTime;

Unity 获取当前日期的短时间和处于早中午晚哪个时间段_第2张图片

你可能感兴趣的:(unity,游戏引擎,c#,开发语言)