最近楼主在开发中遇到了一个小问题

需要保存截图,同时把时间作为截图的名字存储

时间的保存格式为 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也可用)的更多相关文章

  1. 判断库中为字符串格式的时间是否为最近三个月(Java)

    今天分享一个问题,就是标题中提到的问题,今天在调用一个接口的时候,发现调用到的数据的时间格式为字符串类型,我有点蒙圈,于是,我就百度解决了这个问题,同时在这里记录一下,为了之后不再蒙圈::: 首先需要 ...

  2. APP 和小程序中通过日期格式获取时间戳的一个bug

    介绍一下背景:业务逻辑就不多说了,就说关键出问题的一步,需要将 2019-10-10 这个格式转换为时间戳.在不同平台不同场景下问题还很怪异 app上:ios 安卓线上的都有问题  ios模拟器没问题 ...

  3. .Net Core如何在任意位置获取配置文件的内容

    前几天群里有人问,我想在程序里的任意位置读取appsetting.json里的配置,该怎么搞. 话不多说上源码 首先,要想读取配置文件我们要用到IConfiguration 接口,这个接口在Start ...

  4. 按照相应的格式获取系统时间并将其转化为SQL中匹配的(date)时间格式

    在获取时间时需要对时间格式进行设置,此时就需要用到SimpleDateFormat 类 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM ...

  5. javaScript系列:js中获取时间new Date()详细介绍

    var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)m ...

  6. PHP获取时间、时间戳的各种格式

    1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳--可填参数. 2.获取时间戳 ...

  7. (基础篇)PHP获取时间、时间戳的各种格式写法汇总

    1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳–可填参数. 2.获取时间戳方 ...

  8. linux在shell中获取时间

    linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...

  9. android中获取时间

    android中获取时间 1)通过calendar类获取 Calendar calendar = Calendar.getInstance();int moth = calendar.get(Cale ...

随机推荐

  1. mac-终端命令

    发现一个比较好点的关于mac终端下命令的解释文档,全文粘贴到这,免得丢了(原文在此): Mac终端 命令行 [一]bash 终端设置      1.环境变量设置首先要知道你使用的Mac OS X是什么 ...

  2. 去除angularjs路由的显眼的#号

    在接触到angularj并完成第一个demo后,惊奇地发现居然还可以这样开发前端界面.个人喜欢的一个功能点就是ng的路由功能,可以很好地将视图放入多个文件中.但最基础的使用会给url添加一个显眼的#, ...

  3. Access restriction错误解决办法

    Access restriction错误, XX方法 is not accessible due to restriction on required library XXlib 解决方案: Ecli ...

  4. Apache 日志管理,获取客户端端口号

    日志管理分类 日志文件是用户管理和监控 Apache 安全的非常好的第一手资料,它清晰地记录了客户端访问 Apache 服务器资源的每一条记录,以及在访问中出现的错误信息,可以这样说,Apache 可 ...

  5. tiny中文乱码问题,不过仅适用于windows,所以xml不可以出现中文

    我是在SetAttribute() 函数之前使用的 SetAttribute(const char* name,const char * _value) 首先得到了一个CString 类型的变量 st ...

  6. Android自动化学习笔记之MonkeyRunner:用Eclipse执行MonkeyRunner脚本

    Info: 初步学习,难免会有疏漏,以后我会不断修改补全,直到完美.转载请注明出处,谢谢. 2014-10-11: 初版 2014-10-16: 完善 ------------------------ ...

  7. Swagger-API测试工具实战

    初次通过swagger不知道这是一个什么东东. 一.拿到一个项目需要测试,打开地址一看有个大写的swagger,于是各种脑补: 我所理解的就是,swagger是一个API开发工具或者来说是一个框架,开 ...

  8. 正则表达式test验证的“bug”

    在使用正则表达式对某些字符串进行验证时,我们常常会使用到test方法,而该方法也隐藏着一个陷阱,今天就让我们来看一下这个问题. var str = 'hello jack, hello rose'; ...

  9. 用SQL语句获得一个存储过程返回的表

    1. 定义一个表变量 declare @table table(ReportType nvarchar(30),ReportPath nvarchar(200),ParaCnt int,DataAre ...

  10. js工厂方式和构造函数

    工厂方式 //工厂方式 : 封装函数 function createPerson(name){ //1.原料 var obj = new Object(); //2.加工 obj.name = nam ...