unity3D获取某天的0点和23点59分59秒

系列文章目录

unity工具


👉一、前言

大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
有时候会用到一些不经常用的api所以没事记录一下,方便使用
有时候会调用时间,有时候会用到其他时间,有时候也会计算时间,这时候就要用到这些代码了,以后如有需要会继续添加新的代码,喜欢的话就点个赞把


👉二、获取某一天的0点和23点59分59秒

1.以下是一个方法,用的时候只需要把时间传进去就好了

1-1.代码如下

  public void GetStartAndEndOfDay(DateTime date)
    {
        // 某一天0点
        DateTime startOfDay = date.Date;

        // 同一天的11点59分59秒
        DateTime endOfDay = startOfDay.AddHours(23).AddMinutes(59).AddSeconds(59);

        // 打印结果
        UnityEngine.Debug.Log("Start of Day: " + startOfDay);
        UnityEngine.Debug.Log("End of Day: " + endOfDay);
    }

1-2.调用方法如下

1-2-1.获取当天的时间

获取当天的时间第一种方法

  GetStartAndEndOfDay(DateTime.Now);  //获取当前时间

1-2-2.获取某一天的时间

获取某一天的时间

  GetStartAndEndOfDay(DateTime.Parse("2024/3/21"));  //获取某一天的

👉三、当月第一天0时0分0秒

当前月的第一天的0时0分0 秒

DateTime.Now.AddDays(1 - DateTime.Now.Day).Date

👉四、当月最后一天23时59分59秒

DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1)

👉五、上个月第一天0时0分0秒

DateTime.Now.AddMonths(-1).Date.AddDays(1 - DateTime.Now.Day);

👉六、上个月最后一天23时59分59秒

DateTime.Parse(DateTime.Now.AddDays(1 - DateTime.Now.Day).ToShortDateString()).AddSeconds(-1).ToString();

👉七、本周一0时0分0秒

 DateTime Monday = Convert.ToDateTime(DateTime.Now.AddDays(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)).ToString("D").ToString());

👉八、本周日0时0分0秒

 DateTime Sunday = Monday.AddDays(7).AddSeconds(-1);

👉九、当天的第二种方法 当天0时0分0秒

当天的时间 第二种方法

DateTime start = Convert.ToDateTime(DateTime.Now.ToString("D").ToString());

👉十、当天的第二种方法 当天23时59分59秒

DateTime end = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("D").ToString()).AddSeconds(-1);

👉十一、把时间转换成时间戳

1.秒的时间戳和毫秒的时间戳,用哪个时间戳就看你的项目需要了
2.代码如下

 /// <summary>
    /// 时间转成时间戳
    /// </summary>
    /// <param name="time"></param>
    /// <returns></returns>
    public static long TimeStamp(DateTime time)
    {      
        // 将当前时间转换为Unix时间戳(秒)
        //long timeStamp = ((DateTimeOffset)time).ToUnixTimeSeconds();

        //Debug.Log("当前时间戳(秒): " + timeStamp);

        // 将当前时间转换为Unix时间戳(毫秒)
        long timeStampMilliseconds = ((DateTimeOffset)time).ToUnixTimeMilliseconds();

        Debug.Log("当前时间戳(毫秒): " + timeStampMilliseconds);
        return timeStampMilliseconds;
    }

👉十二、获取今天及其之后的日期

1.timelists是一个列表,如果复制完报错就请加上此列表就好了,报错即可解决

 //获取今天及其之后一星期的日期
    public void GetRiQiData()
    {
        DateTime today = DateTime.Today;
        Debug.Log("今天的日期:" + today.ToShortDateString());
       
        // 获取一星期后的日期  一星期就改成7  半个月就改成14
        DateTime oneWeekLater = DateTime.Today.AddDays(14);
        Debug.Log("一星期后的日期:" + oneWeekLater.ToShortDateString());

        // 打印从今天开始到一星期后每一天的日期
        DateTime currentDate = today;
        while (currentDate <= oneWeekLater)
        {
            Debug.Log("日期:" + currentDate.ToShortDateString());
           
            timelists.Add(currentDate.ToShortDateString ());
        }
    }

👉十三、获取今年及其前十年的日期

代码如下

 //获取今年及其前十年的日期 
    public void GetRiQiData()
    {
        
        DateTime currentYear = DateTime.Now;
        int currentYearNumber = currentYear.Year;
        yearLists.Add(currentYearNumber.ToString());
        // 获取前10年的年份
        for (int i = 0; i < 10; i++)
        {
            int pastYear = currentYearNumber - i - 1;
            yearLists.Add(pastYear.ToString ());
         
        }
        //倒序
        yearLists.Sort();
    }

👉壁纸分享

请添加图片描述
请添加图片描述

👉总结

以上就是讲了获取0点和23点59分59秒的方法,以及当天时间的获取,某一天的时间获取,如能帮助到你,就帮忙点个赞吧,谢谢
不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心疼你的一切

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值