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

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

时间的保存格式为 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. Android开发-Android Studio使用问题解决

    回头一看,很久没来更新了,归其原因,还是懒癌发作,倒是生活作息规律了,几乎每天都在11点前休息.今天趁着培训,使用android studio,发现几个坑: 1.android studio每次都提示 ...

  2. truncate table语句和delete table语句的区别

    truncate table 表名 ; delete from 表名; 都是用来删除表中所有的记录,前者删除数据后表的标识列会重新开始编号,它比delete语句使用的系统资源和事务日志资源更少,但是表 ...

  3. GAudio是一个音频播放SDK

    gaudio是一个基于C/C++混合编程的跨平台音频库,当前支持windows32/64操作系统 免费使用 - 有问题和建议请联系 谢谢 修改记录1.2013.04.01    初次发布2.2013. ...

  4. (转) TexturePacker 3.0 使用教程

    著名的TexturePacker 已经升级到3.0了,下载地址: http://www.codeandweb.com/texturepacker 免费 license 申请地址: http://www ...

  5. oracle 单列索引 多列索引的性能测试

    清除oralce 缓存:alter system flush buffer_cache; 环境:oracle 10g . 400万条数据,频率5分钟一条 1.应用场景:  找出所有站点的最新一条数据. ...

  6. Python Quick list dir

    昨天 Python释放了 3.5 ,添加了 os.scandir 根据文档该API比os.listdir快Docs which speeds it up by 3-5 times on POSIX s ...

  7. Python全栈开发 线程和进程

    一.线程 线程是程序工作的最小单元,由进程生成,生成的线程间会共享内存空间.Python中创建线程比较简单,导入threading模块,创建线程实例.下面这段代码是一个简单的多线程例子 import ...

  8. Linux下安装JDK并配置环境变量

    1. 查询是否默认安装有JDK [root@localhost bin]# java -version java version "1.6.0_22" OpenJDK Runtim ...

  9. ZeroC Ice 暂记

    摘自: http://weibo.com/p/1001603869896789339575 原文地址: http://www.oschina.net/question/865233_242146 吴治 ...

  10. android开发--sqlite数据库

    一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQL ...