C# / Unity关于 世界时间、本地时间、UNIX Timestamps,以及相互转化的记录

这篇具有很好参考价值的文章主要介绍了C# / Unity关于 世界时间、本地时间、UNIX Timestamps,以及相互转化的记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C# / Unity关于 世界时间、本地时间、UNIX Timestamps,以及相互转化的记录

世界时间(UtcTime ):DateTime.UtcNow 获取的是世界时间,如果开发一些全球国际性质的产品,可以用这个时间来进行。
本地时间(LocalTime): DateTime.Now 获取的是当前用户所在时区的时间,也就是本地时间。
时间戳(Unix Timestamps): 把DateTime 转化为Long方便用于数据传输等等。

其中UtcTime和LocalTime相差是整整2个小时(DateTime.UtcNow输出的是0时区的事件(通俗点就是格林威治时间的当前时间),DateTime.Now输出的是当前时区的时间,我们中国使用的是东八区的时间,所以会相差8个小时。(当然如果你不在国内,又会不同))


相关时区更好的资料:什么是市区
可以使用microsoft自己的在线编程工具测试文章来源地址https://www.toymoban.com/news/detail-651044.html


然后其中相互转化的代码如下


        #region Time tools

        /// <summary>
        /// 获取世界时间
        /// </summary>
        public static DateTime NowUtcTime => DateTime.UtcNow;
        /// <summary>
        /// 获取本地时间
        /// </summary>
        public static DateTime NowLocalTime => DateTime.Now;

        /// <summary>
        /// 把本地时间转化为世界时间
        /// </summary>
        public static DateTime NowUtcTimeByLocal => TimeZoneInfo.ConvertTimeToUtc(NowLocalTime);
        /// <summary>
        /// 把Utc世界时间转化为本地时间
        /// </summary>
        public static DateTime NowLocalTimeByUtc => NowUtcTime.ToLocalTime();

        /// <summary>
        /// 把DateTime 转化为字符串
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static string DateTimeToString(DateTime dateTime) { return string.Format("{0:MM/dd/yyy HH:mm:ss.fff}", dateTime); }
        /// <summary>
        /// 把DateTime 转化为 long类型的UNIX Timestamps
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static long ToUnixTimeByDateTime(DateTime dateTime) { return ((DateTimeOffset)dateTime).ToUnixTimeSeconds(); }

        /// <summary>
        /// UNIX Timestamps 转化为 DateTime
        /// </summary>
        /// <param name="unixTime">UNIX Timestamps</param>
        /// <param name="isToLocal">转为为本地时间还是时间时间(相差8小时)</param>
        /// <returns></returns>
        public static DateTime ToDateTimeByUnix(long unixTime, bool isToLocal = false)
        {
            DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
            dtDateTime = dtDateTime.AddSeconds(unixTime);
            if (isToLocal) dtDateTime = dtDateTime.ToLocalTime();
            return dtDateTime;

        }

        #endregion


到了这里,关于C# / Unity关于 世界时间、本地时间、UNIX Timestamps,以及相互转化的记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c# 时间获取以及格式化方式

    在C#中,你可以使用DateTime结构来获取并格式化时间。以下是一些示例和技巧: 获取当前日期和时间: 获取特定日期和时间: 格式化日期和时间为字符串: 使用自定义格式化字符串获取特定的日期和时间部分: 使用预定义格式字符串获取常见的日期和时间格式: 还可以使用

    2024年02月13日
    浏览(28)
  • C#、Unity:Time 时间与计时

    Time.time:(只读)表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。 Time.timeSinceLevelLoad:(只读)表示从当前Scene开始到目前为止的时间,也会随着暂停操作而停止。 Time.deltaTime:(只读)表示从上一帧到当前帧时间,以秒为单位。 Time.fixedTime:(只读)表示以

    2024年02月19日
    浏览(27)
  • 关于Gitee如何创建仓库和配置本地绑定账号以及如何提交本地代码。

    第一步: 登录Gitee.com开始注册账号。 第二步 : 登录进去以后,创建一个仓库并绑定邮箱。 第三步: 安装git工具,安装完毕后,鼠标右键会出现两个选项 第四步:   接下来就开始配置git的本地文件,首先需要建立一个空文件夹,来当做一个本地仓库,在此文件夹的路径下

    2024年02月14日
    浏览(29)
  • 【100个 Unity实用技能】☀️ | Unity中C#获取当前时间戳,时间戳和时间格式相互转换、时间戳转换为多久之前

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月16日
    浏览(35)
  • Unity关于本地加载图片涉及webrequest或者byte

    Unity关于本地加载图片的有2种,一种使用webrequest发送请求发送数据将得到的数据转换成Texture2d,最后转换成sprite,第二种方法是使用读取文本文件方法 将图片当成文件来读取,然后转换成,下边附上我的代码

    2024年02月15日
    浏览(27)
  • [Unity]Lua本地时间、倒计时和正计时。

    惯例,直接上代码:

    2024年02月12日
    浏览(37)
  • 关于 Window 的 UWP 应用本地回环限制以及限制解除方案

    UWP 应用在默认的情况下,禁止访问本地的 Localhost(这被称做本地回环 Loopback)。 然而我们在开发、调试、正向代理等场景下,又不得不让 UWP 突破这一个限制。 参考链接: MS Docs - App architecture MS Docs - Deploying and debugging UWP apps 这个工具位于 C:/Windows/System32/CheckNetIsolation.exe ,

    2024年02月05日
    浏览(31)
  • Baumer工业相机堡盟工业相机如何使用BGAPISDK的相机图像时间戳计算运行时间以及时间差(C#)

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩

    2024年02月09日
    浏览(42)
  • 关于 vue vite 项目中本地以及代理中开启https解决方法

    在本地开启https: 在项目配置文件vite.config.ts中关于server配置位置中添加 https:true, 即可。 如图所示   在代理中开启https: 同样在在项目配置文件vite.config.ts中的server中的proxy对象中加入secure: false,protocolRewrite:\\\"https\\\",这两行代码即可, 如果不添加 protocolRewrite:\\\"https\\\", 会自动把

    2024年04月27日
    浏览(30)
  • (stm32)Unix时间戳

     时间戳计时系统和常用的年月日时分秒计时系统有很大差别 时间戳:只计算从1970年1月1日0点整为0秒,只用最基本的秒来计时,用不进位。 常用计时系统:60秒进位1分钟,60分钟进位1小时,24小时进位1天,依次年月日。 c程序内封装的time.h文件中封装了相关函数  中国在东

    2024年02月11日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包