Unity中date相关问题
今天遇到了从服务器获取unix时间戳,将其转换为时间并显示的需求。Unity中可以使用C#中有关的date函数来处理这个问题。
首先UNIX时间戳的定义如下:
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)
是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。
在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。
DateTime dt = DateTime.Now;
dt.ToString();
dt.ToFileTime().ToString();
dt.ToFileTimeUtc().ToString();
dt.ToLocalTime().ToString();
dt.ToLongDateString().ToString();
dt.ToLongTimeString().ToString();
dt.ToOADate().ToString();
dt.ToShortDateString().ToString();
dt.ToShortTimeString().ToString();
dt.ToUniversalTime().ToString();
dt.Year.ToString();
dt.Date.ToString();
dt.DayOfWeek.ToString();
dt.DayOfYear.ToString();
dt.Hour.ToString();
dt.Millisecond.ToString();
dt.Minute.ToString();
dt.Month.ToString();
dt.Second.ToString();
dt.Ticks.ToString();
dt.TimeOfDay.ToString();
Unity中运行结果如下:
值得注意的是Unity中似乎默认的都是12进制,而不是24小时的。策划要求24小时进制显示,因此最后我的UNIX时间戳转换代码如下:
/* 将UNIX时间戳转换成系统时间 */ public static string getTime(string _time) { string timeStamp = _time; DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));//基准值 long lTime = long.Parse(timeStamp + "0000000"); //转换到Tick计时单位 TimeSpan toNow = new TimeSpan(lTime); DateTime dtResult = dtStart.Add(toNow); string date = dtResult.ToShortDateString().ToString(); string time = dtResult.ToString("HH:mm:ss").ToString(); //24进制string[] date_arr = date.Split('/'); string[] time_arr = time.Split(':'); string result = date_arr[0]+"月"+date_arr[1]+"日"+" "+time_arr[0]+":"+time_arr[1]; return result; }
这里再说下TimeSpan
TimeSpan是用来表示一个时间段的实例,两个时间的差可以构成一个TimeSpan实例
DateTime.Tick :是一个计时周期,表示一百纳秒,即一千万分之一秒,那么 Ticks 在这里表示总共相差多少个时间周期,也就是说,Tick是TimeSpan的计时单位。
因此
在这里将时间戳转换成了Tick计时单位。
下边是将时间转回unix时间戳
epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
下边是日期格式的说明,大写的HH完成了24小时进制的转换
Unity中date相关问题相关推荐
- Java中Date各种相关用法
Java中Date各种相关用法 本文主要介绍Java中Date各种相关用法. AD: Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=C ...
- UNITY中使用不安全代码的相关设置
UNITY中使用不安全代码的相关设置 必须执行以下三个步骤 1,在工程属性中设置:属性-生成-允许不安全代码 2,在Assets目录下增加 smcs.rsp(若打包设置中使用了.net 2.0 sub ...
- 模型相关:SolidWorks按实际比例创建模型,在Unity中保持尺寸不变
拟解决问题: 如题实现在SolidWorks按实际比例创建模型,在Unity中保持尺寸不变 解决方法: 1.在SolidWorks中按拟定尺寸创建模型,保存为零件: 2.打开设置-文档属性-单位,修改 ...
- unity中3D数学相关类、属性、方法、用途总结+超级综合的案例
这篇内容将与unity中移动旋转的控制密切相关,有关移动旋转. 主要涉及到的类:Vector3,Mathf,Quaternion,Transform. 1.三角函数 其实关于三角函数的使用并不会很常见 ...
- php中年月日用什么参数,PHP中date()日期函数参数整理
PHP中date()日期函数参数整理 发布于 2014-11-19 13:34:06 | 105 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...
- SAP SD基础知识之订单中装运相关的功能 II
SAP SD基础知识之订单中装运相关的功能 II 一,计划Scheduling 当业务人员创建一张订单时,系统能够决定基于客户要求的delivery date的物料可用日期:需要交货的货物必须在该时点 ...
- 关于Unity中从服务器下载资源压缩包AssetBundle的步骤
AssetBundle 1: 在Unity中,能为用户存储资源的一种压缩格式的打包集合,他可以存任意一种Unity引擎可以识别的资源: 模型,音频,纹理图,动画, 开发者自定义的二进制文件; 2: 这 ...
- 关于Unity中的UGUI优化,你可能遇到这些问题
一.界面制作 Q1:UGUI里的这个选项 ,应该是ETC2拆分Alpha通道的意思,但是在使用中并没起作用?请问有没有什么拆分的标准和特别要求呢? 据我们所知,alpha split 的功能最初只对 ...
- 浅析Unity中的Enlighten与混合光照
0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten[1]来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapp ...
最新文章
- 单词转换(map对象)
- 如何在windows 10 x64安装佳能 CP900 驱动
- IE 8兼容:meta http-equiv=X-UA-Compatible content=IE=edge / X-UA-Compatible的解释
- python3 asyncio loop 使用线程池原理
- 网络推广外包专员浅析为什么说早在建站初期就要做好网络推广外包
- 1xx、101、100 状态详解
- java父类转子类_java中什么是继承,和继承的接口的关系?
- 在单节点和多节点上的Hadoop设置
- 分布式训练PyTorch 源码解读
- 高通发布 5G 基带芯片 X60:5nm 制程,2021 年上市
- perf 函数调用性能(函数流程图)
- pandas不显示index_Pandas中文官档 ~ 基础用法1
- 探索艾利特机器人丨EC66在物流行业的应用
- 动态库静态库的链接过程
- 联想拯救者y7000怎么配置Java环境_联想拯救者Y7000装win7详细教程(包含BIOS设置和新USB驱动)...
- 高德地图广告投放的优势、效果!
- python判断按键是否按下_python – 如何检查键修饰符是否被按下(shift,ctrl,alt)?
- 京东淘宝拼多多自动查券找券搜券返利机器人实现方法分享
- Excel自学笔记 第五节 怎么在列后加统一固定字符?
- 华为鸿蒙战略发布会内容,万物互联!华为鸿蒙发布会带来无限可能
热门文章
- php生成extjs下拉树json数据格式
- window无法对计算机进行,电脑按Win+E快捷键无法打开“计算机”如何解决
- ajax修改按钮的html值,表格行的按钮AJAX后,怎么修改表格当前行的值
- PAT_B_1033_Java(20分)
- 统计问题:找链环数字对的出现频率
- 【计算机组成原理】存储器简述
- @async 默认线程池_Springboot线程池的使用和扩展
- 实现tinyc语言的扫描程序_适合编程小白的C语言设计习题,实现自动发牌程序!源码分享!...
- Kafka消息处理与集群维护
- 精心整理吐血推荐的AUTOSAR科普介绍材料