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哦


    附:


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

  • 相关阅读:
    view上面 长view时候要设置其frame的,
    controller.allowsEditing = NO;神医,
    怎样计算,遗留,
    编码,一点阅读(转:阮一峰的网络日志),
    原来 ascll是对英文系统的编码,
    CoreGraphics 画图,(转燕羽天空)
    Core Graphics,
    计算数据类型占有 字节的长度,
    浅谈Promise(一)
    原生js实现表格内容增删改
  • 原文地址:https://www.cnblogs.com/fws94/p/6144749.html
Copyright © 2011-2022 走看看