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

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

时间的保存格式为 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. C#预编译

    在C#开发中经常会遇到在Debug和Release模式下需要执行不同代码的情况,这个时候使用C#条件编译可以很好地解决这个问题,如 #if DEBUG // TO Do Debug Mode Code ...

  2. ASP.NET 生命周期 简介

    当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面,  完全识别 HTTP 页面处理程序类后,ASP.NET 运行时 ...

  3. C++设计模式-Flyweight享元模式

    Flyweight享元模式 作用:运用共享技术有效地支持大量细粒度的对象. 内部状态intrinsic和外部状态extrinsic: 1)Flyweight模式中,最重要的是将对象分解成intrins ...

  4. Create a geoprocessing tool to buffer a layer and retrieve messages____sync

    using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropSer ...

  5. RestoreDirectory 引起的BUG

    IIRC, in windows XP when you press Save on a SaveFileDialog (or Open on a OpenFileDialog) the direct ...

  6. 使用JQuery实现手风琴布局

    当鼠标在元素上悬停或移出时,可以通过JQuery的hover方法来给元素绑定两个处理方法,前者用于鼠标悬停,后者用于鼠标移出,因此根据这这特点再设置相应元素的css属性后就可以方便的实现手风琴布局,然 ...

  7. Linux 权限设置

    一.文件和目录权限 在Linux系统中,用户可以对每一个文件或目录都具有访问权限,这些访问权限决定了谁能访问,以及如何访问这些文件和目录. 1.文件权限简介 在Linux系统中,每一位用户都有对文件或 ...

  8. mysql load data 乱码的问题

    新学mysql在用load data导入txt文档时发现导入的内容,select 之后是乱码,先后把表,数据库的字符集类型修改为utf8,但还是一样,最后在 http://bbs.chinaunix. ...

  9. 缩略信息是: sending message to a Handler on a dead thread 我是用IntentService时报的

    稍微纤细一点儿的信息是: Handler (android.os.Handler) {215ddea8} sending message to a Handler on a dead thread. ...

  10. linux dns 配置

    今天线上出现一个bug,图片上传失败. 经过排查发现,上传图片接口调用失败,ping 域名提示 unknow host,ping IP正常. 猜想可能是dns的问题.解决过程如下: /etc 下没有 ...