• DateTime格式字符串HH与hh


    早上写了一个关于接口的示例代码,结果发现了一个bug。接口中我内部将DateTime转化为12小时进制的字符串,这样就导致在用户没有指定小时时,不会默认写入00,而是12.

    例如:

                DateTime dt2 = new DateTime(2012, 1, 1);
                Console.WriteLine("tostring:" + dt2.ToString()); //2012/1/1 0:00:00
                Console.WriteLine("yyyy/MM/dd hh:mm:ss" + dt2.ToString("yyyy/MM/dd hh:mm:ss")); //2012/01/01 12:00:00
                Console.WriteLine("yyyy/MM/dd HH:mm:ss" + dt2.ToString("yyyy/MM/dd HH:mm:ss")); //2012/01/01 00:00:00

    这里的HH和hh不能弄混。

    摘自msdn: http://msdn.microsoft.com/zh-cn/library/8kb3ddd4(v=vs.80).aspx

    HH, HH(另加任意数量的“H”说明符) 将小时表示为从 00 至 23 的数字,即通过从零开始的 24 小时制表示小时,自午夜开始对小时计数。一位数字的小时数设置为带前导零的格式。

    hh, hh(另加任意数量的“h”说明符) 将小时表示为从 01 至 12 的数字,即通过 12 小时制表示小时,自午夜或中午开始对整小时计数。因此,午夜后经过的某特定小时数与中午过后的相同小时数无法加以区分。小时数不进行舍入,一位数字的小时数设置为带前导零的格式。例如,给定时间为 5:43,则此格式说明符显示“05”。

  • 相关阅读:
    sql--删除
    数据库--范式
    sql语句--插入
    sql--查询
    shapefile数据文件组成
    sql---应用
    sql语句 函数
    SWIG:Simple Wrapper and Interface Generator
    职责链模式
    mybatis 装饰模式【Executor】 缓存篇
  • 原文地址:https://www.cnblogs.com/qingxinlangjing/p/3205019.html
Copyright © 2020-2023  润新知