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

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

时间的保存格式为 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. springmvc 接受特殊类型字段的处理方法

    springmvc接受前台传入的数据时如果该字段类型无法被封装(如Date),则会出现400 Bad Request错误,解决方法如下. 1.在需要处理的字段前加上注解: @DateTimeForma ...

  2. 【VB6】vbRichClient5.cWebServer实现一个简单web服务器

    Option Explicit Private WithEvents k As vbRichClient5.cWebServer Private Sub Command1_Click() Set k ...

  3. 如何在IDEA上创建Spring MVC项目

    对于刚刚从eclipse.myeclipse转到IDEA工具,在搭建项目遇到了一些问题,所以让我来分享我的搭建过程. 建议大家准备java环境.IDEA工具.tomcat.maven了,还有我是win ...

  4. jenkins:通过execute shell启动的进程会被杀死的问题

    [问题]在jenkins中配置自动更新部署项目时,如果采取用execute shell启动/关闭tomcat,会发现可以进行关闭tomcat,但是无法启动tomcat,虽然构建会显示执行成功,但是查看 ...

  5. NHibernate系列文章二十四:NHibernate查询之Linq查询(附程序下载)

    摘要 NHibernate从3.0开始支持Linq查询.写Linq to NHibernate查询就跟写.net linq代码一样,非常灵活,可以很容易实现复杂的查询.这篇文章使用Linq to NH ...

  6. 初学python之安装Jupyter notebook

    一开始安装python的时候,安装的是最新版的python3.6的最新版.而且怕出问题,选择的都是默认安装路径.以为这样总不会出什么问题.一开始确实这样,安装modgodb等一切顺利.然而在安装jup ...

  7. iOS常见算法笔试问题

    1. 给出一个由小写字母组成的字符串,把所有连续出现的 2 个 a 替换成 bb ( 2 个 b ),但是对于超过两个连续的 a,那么这些字符都不作替换.例如: bad -> bad (一个a, ...

  8. 在spring框架中配置Quartz定时器发生错误: class org.springframework.scheduling.quartz.JobDetailBean has interface org.quartz.JobDetail as sup

    这是由于spring和Quartz的不兼容性造成的.我的spring是4.0.2,但是Quartz是2.2.3的,换了一个1.8版本的Quartz就解决问题了.

  9. 后台js弹提示

    StringBuffer sb=new StringBuffer(); try{ sb.append("<script> location.href=\"member_ ...

  10. ConnectionString属性尚未初始化

    问题前因:使用动软代码生成的三成模板然后复制到相应的类库 动软生成的 sql帮助类 推荐的是DBsqlhelp 期间引用了:BLl层:Maticsoft.Common.dll DAl层:Maticso ...