zoukankan      html  css  js  c++  java
  • 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哦


    附:


    声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,并请明示指出

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/fws94/p/6144749.html
Copyright © 2011-2022 走看看