【Unity】时间戳与DateTime

介绍

在开发游戏的时候,和时间打交道是一个必不可少的部分。而时间戳就是用的最多的一个,尤其是和服务端通信。
那时间戳是什么?
时间戳就是从1970年1月1日0时0分0秒起到现在的总毫秒数,为什么时1970/1/1/00:00:00,因为第一台计算机发明时间是这个时间。

1.DateTime

DateTime是Unity提供的一个获取时候的类

  void Start()
    {
        DateTime date = DateTime.Now;
        Debug.Log("年:" + date.Year);
        Debug.Log("月:" + date.Month);
        Debug.Log("日:" + date.Day);
        Debug.Log("时:" + date.Hour);
        Debug.Log("分:" + date.Hour);
        Debug.Log("秒:" + date.Second);

        //第几周:返回枚举,从0开始, 0代表周日,1代表周一
        Debug.Log("周:" + date.DayOfWeek);
        Debug.Log("一年中的第几天:" + date.DayOfYear);

    }

在这里插入图片描述

2.获取时间戳

    void Start()
    {
        //获取当前Ticks, 
        long currentTicks = DateTime.Now.ToUniversalTime().Ticks;
        DateTime dtFrom = new DateTime(1970, 1, 1, 0, 0, 0, 0);
        long Ticks = (currentTicks - dtFrom.Ticks) / 10000000;
        Debug.Log("当前时间戳:" + Ticks);
    }

在这里插入图片描述

可以用时间戳转换工具来验证查询:时间戳转换

在这里插入图片描述

3.时间戳转日期

    void Start()
    {
        //要转换的时间戳
        long timestamp = 1710209909;
        DateTime time = new DateTime(1970, 1, 1).AddSeconds(timestamp);

        //需要加上时区,这个很重要,不然得出的时间会出现偏差
        time = time.AddHours(TimeZoneInfo.Local.GetUtcOffset(time).TotalHours);
        // 格式化日期字符串
        string formattedDate = time.ToString("yyyy-MM-dd HH:mm:ss"); 
         // 打印结果
        Debug.Log(formattedDate);
    }

在这里插入图片描述

4.倒计时方法

    //time:需要倒计时的时长,单位秒
    public string GetTime(long time )
    {
        //算出倒计时时分秒
        int day, hour, minute, second;
        day = Convert.ToInt16(time / 86400);
        hour = Convert.ToInt16((time % 86400) / 3600);
        minute = Convert.ToInt16((time % 86400 % 3600) / 60);
        second = Convert.ToInt16((time % 86400 % 3600) % 60 );
        return string.Format("倒计时:{0}天{1}时{2}分{3}秒", day, hour, minute, second); 

    }

相关推荐

  1. 时间时间锁区别联系

    2024-03-14 18:38:01       25 阅读
  2. python时间时间字符串的转化

    2024-03-14 18:38:01       9 阅读
  3. LocalDateTime时间转换的全局配置

    2024-03-14 18:38:01       36 阅读
  4. Oracle中的时间转换使用

    2024-03-14 18:38:01       12 阅读
  5. C/C++ 字符串时间互相转换

    2024-03-14 18:38:01       8 阅读
  6. 时间时间转换及android和ios对时间识别的区别

    2024-03-14 18:38:01       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-14 18:38:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-14 18:38:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-14 18:38:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-14 18:38:01       18 阅读

热门阅读

  1. 【Redis内存数据库】NoSQL的特点和应用场景

    2024-03-14 18:38:01       21 阅读
  2. C#(C Sharp)学习笔记_变量常量与作用域【十二】

    2024-03-14 18:38:01       18 阅读
  3. 常用的git命令

    2024-03-14 18:38:01       22 阅读
  4. vue2、vue3 request请求删除接口用formData传参记录

    2024-03-14 18:38:01       20 阅读
  5. Ubuntu系统安装MySQL主从模式集群(成功!)

    2024-03-14 18:38:01       19 阅读
  6. Linux--家目录stu

    2024-03-14 18:38:01       23 阅读
  7. 访问者模式在量化交易系统开发的应用

    2024-03-14 18:38:01       19 阅读
  8. Linux移动文件夹和文件指令

    2024-03-14 18:38:01       21 阅读
  9. Linux异步通知实验:应用程序对异步通知的处理

    2024-03-14 18:38:01       22 阅读
  10. 快速配置ssh免密登录

    2024-03-14 18:38:01       21 阅读
  11. BIO、NIO、AIO有什么区别?

    2024-03-14 18:38:01       17 阅读
  12. 将LibMTL应用于自定义模型

    2024-03-14 18:38:01       19 阅读
  13. Spring篇面试题 2024

    2024-03-14 18:38:01       14 阅读
  14. 2. git 分支使用流程

    2024-03-14 18:38:01       19 阅读
  15. Linux Centos7 服务器局域网集群使用 NTP 同步时间

    2024-03-14 18:38:01       15 阅读