Unity3D中以任意格式获取时间(C# .net也可用)
最近楼主在开发中遇到了一个小问题
需要保存截图,同时把时间作为截图的名字存储
时间的保存格式为 2016-12-08 13:15:00
保存截图的流程就不说了,这篇博客只说一下以任意的格式保存时间。
楼主查了一下打印时间的函数
首先要引入一个程序集using System;
具体的函数为System.DateTime.Now
这时候Debug一句,就可以打印当前时间了
void Start(){
Debug.Log(System.DateTime.Now);
}
这时默认的格式为
12/8/2016 1:39:30 PM
然而楼主想用的并不是这种格式
准确的说是策划想要的不是这种格式
然后查了一下API
Now里面含有Year、Month、Day、Hour、Minute、Second六个属性
于是楼主就想,能不能把这六个属性打印出来,然后用自己想要的格式连接成一个字符串打印呢
说试就试
void Start()
{
Debug.Log(System.DateTime.Now.Year
+ "-" + System.DateTime.Now.Month
+ "-" + System.DateTime.Now.Day
+ " " + System.DateTime.Now.Hour
+ ":" + System.DateTime.Now.Minute
+ ":" + System.DateTime.Now.Second);
}
一条这么长的语句就被写了出来
自然地,楼主的第一反应是这么一个一个的获取,会不会很消耗性能
性能问题先妥协一下吧,反正不是经常用,能得到策划要求的格式是极好的
这时打印的格式为
2016-12-8 13:47:39
确实把“/”改成了“-”
PM下午标志也没有了
可是
可是
这还不是楼主想要的格式啊
于是只能再去搜搜搜
偶然间看到一行代码
System.DateTime.Now.ToString("hh:mm:ss");
然后写出来Debug了一下
13:52:03
诶,ToSting感觉靠谱,秒的显示终于是03而不是3了
年月日能不能也用这种格式写呢?
System.DateTime.Now.ToString("yy-mm-dd hh:mm:ss");
打印结果 16-54-08 13:54:32
哇,08终于打上去了
可是,54月是什么鬼。。
仔细一看,月份上显示的是分钟
这个yy-mm-dd里面的ymd是我自己蒙的。。
因为我看hh:mm:ss里面的hms不是hour、minute、second的缩写吗
又仔细查了一下
原来月份使用MM来表示的,mm表示的是分钟
还有,这个16也不靠谱啊,应该是2016
然后自己改了个yyyy
哈哈,还真就是这么回事
至此,还有最后一点儿问题
就是这个小时,原来的时候有一个PM表示下午
可是现在没有了PM,01点跟凌晨的1点有什么不一样呢
于是又自己尝试了下,
把hh改成了HH
哈哈哈哈,居然又成功了
至此,格式就变成了
2016-12-08 13:59:36
完全符合策划大大的要求
打完收工o.o
最后的代码是酱紫的:
void Start()
{
Debug.Log(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
所以呢
大家就可以按照我的探索路径
来随心所欲修改时间显示的任意格式喽~
2020/1/3增:
听说好多程序员在元旦,也就是2020.1.1都回去改Bug了
原因是输入了2019.12.31后,都自动变成了2020.12.31
原因呢,就是因为他们使用的是‘YYYY’,而不是‘yyyy’
为什么呢,看一下这个就知道了


所以,年份的格式上,要记得,是用yyyy哦
附:
声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,并请明示指出
Unity3D中以任意格式获取时间(C# .net也可用)的更多相关文章
- 判断库中为字符串格式的时间是否为最近三个月(Java)
今天分享一个问题,就是标题中提到的问题,今天在调用一个接口的时候,发现调用到的数据的时间格式为字符串类型,我有点蒙圈,于是,我就百度解决了这个问题,同时在这里记录一下,为了之后不再蒙圈::: 首先需要 ...
- APP 和小程序中通过日期格式获取时间戳的一个bug
介绍一下背景:业务逻辑就不多说了,就说关键出问题的一步,需要将 2019-10-10 这个格式转换为时间戳.在不同平台不同场景下问题还很怪异 app上:ios 安卓线上的都有问题 ios模拟器没问题 ...
- .Net Core如何在任意位置获取配置文件的内容
前几天群里有人问,我想在程序里的任意位置读取appsetting.json里的配置,该怎么搞. 话不多说上源码 首先,要想读取配置文件我们要用到IConfiguration 接口,这个接口在Start ...
- 按照相应的格式获取系统时间并将其转化为SQL中匹配的(date)时间格式
在获取时间时需要对时间格式进行设置,此时就需要用到SimpleDateFormat 类 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM ...
- javaScript系列:js中获取时间new Date()详细介绍
var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)m ...
- PHP获取时间、时间戳的各种格式
1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳--可填参数. 2.获取时间戳 ...
- (基础篇)PHP获取时间、时间戳的各种格式写法汇总
1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳–可填参数. 2.获取时间戳方 ...
- linux在shell中获取时间
linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...
- android中获取时间
android中获取时间 1)通过calendar类获取 Calendar calendar = Calendar.getInstance();int moth = calendar.get(Cale ...
随机推荐
- 【转】apache DateFormatUtils 与 DateUtils 的使用
在Apache Commons项目的Lang里面,有两个类:DateUtils和DateFormatUtils,专门用于处理时间日期转换.它们在 org.apache.commons.lang.tim ...
- vc6.0运用mysql数据库中的编码所导致的乱码问题(接收和输出的编码必须要一致)
[编译中遇见的问题] ①在用vc 6.0去调用MySQL中的数据时,出现中文乱码 ②不明白mysql中的码制 [开始解决问题] ①打开mysql控制台 ...
- Ibatis.net总是报:【ExecuteStoreCommand SqlParameterCollection 中已包含 SqlParameter】(转)
今天很奇怪调用EF的ExecuteStoreCommand 出现了个这样的错误,怎么也调试不过,痛定思痛 原来 command被连着调用了而没有销毁掉 public static DataTabl ...
- vi和vim 的常用操作
到文件末尾: ESC + shift G : 到文件头: G + G: 整块模式 快捷键 [不使用鼠标,来选择块] v 字符选择,会将光标经过的地方反白选择! V ...
- leetcode 206
206. Reverse Linked List Reverse a singly linked list. 翻转一个单链表. 代码如下: /** * Definition for singly-li ...
- NET 强签名
强签名: 1. 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll. 2. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可以引用强签名 ...
- flag--命令行参数定义多标签示例
// TestFlag2 project main.go package main import ( "flag" "fmt" ) func main() { ...
- Windows程序设再读笔记03-窗口与消息
1.关于LoadIcon/LoadCursor,这两个函数,第一个参数为实例句柄,如果是从保存在磁盘中的可执行文件中加载资源,则需要则需要指定可执行文件的hInstance,如果是系统资源,该句柄为N ...
- 使用英文版eclipse保存代码,出现some characters cannot be mapped using "Cp1251" character encoding.
some characters cannot be mapped using "Cp1251" character encoding. 解决办法:方案一: eclipse-> ...
- 关于ddpush推动实现抖动视频的使用
/** //开机之后打开服务 开机成功打开服务ddpushService**/ <!-- 开机广播 --> <receiver android:name="com.r ...
