zoukankan      html  css  js  c++  java
  • 日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的区别

    日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的区别

    {0:yyyy-MM-dd HH:mm:ss.fff}:使用24小时制格式化日期
    {0:yyyy-MM-dd hh:mm:ss.fff}:使用12小时制格式化日期

    以下同理,从左至右分别为-年-月-日 时:分:秒.毫秒
    {0:yyyy-MM-dd HH:mm:ss zzz}
    {0:yyyy-MM-dd HH:mm:ss.ff zzz}
    {0:yyyy-MM-dd HH:mm:ss.fff zzz}
    {0:yyyy-MM-dd HH:mm:ss.ffff zzz}

    以下测试代码
    //---假设时间为-2009-03-17 16:50:49.92
    object objValue2 = Business.Services.ExecuteScalar(sqliteconnstring, "Select LastUpdate From CmItemClass2 order by LastUpdate desc limit 0,1");
    string lastUpdate2 = objValue2 == null ? string.Empty : string.Format("{0:yyyy-MM-dd HH:mm:ss.fff}", objValue2); //--输出2009-03-17 16:50:49.920
    string lastUpdate3 = objValue2 == null ? string.Empty : string.Format("{0:yyyy-MM-dd hh:mm:ss.fff}", objValue2); //--输出2009-03-17 04:50:49.920


    //--------------------
    y 将指定 DateTime 对象的年份部分显示为位数最多为两位的数字。忽略年的前两位数字。如果年份是一位数字 (1-9),则它显示为一位数字。
    yy 将指定 DateTime 对象的年份部分显示为位数最多为两位的数字。忽略年的前两位数字。如果年份是一位数字 (1-9),则将其格式化为带有前导 0 (01-09)。
    yyyy 显示指定 DateTime 对象的年份部分(包括世纪)。如果年份长度小于四位,则按需要在前面追加零以使显示的年份长度达到四位。

    z 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导或尾随符号(零显示为“+0”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值的范围是 –12 到 +13。如果偏移量为一位数 (0-9),则将其显示为带合适前导符号的一位数。该时区的设置指定为 +X 或 –X,其中 X 是相对 GMT 以小时为单位的偏移量。所显示的偏移量受夏时制的影响。
    zz 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导或尾随符号(零显示为“+00”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值范围为 –12 到 +13。如果偏移量为单个数字 (0-9),则将其格式化为前面带有 0 (01-09) 并带有适当的前导符号。该时区的设置指定为 +X 或 –X,其中 X 是相对 GMT 以小时为单位的偏移量。所显示的偏移量受夏时制的影响。
    zzz, zzz(外加任意数量的附加“z”字符)以小时和分钟为单位显示系统当前时区的时区偏移量。偏移量总是显示为带有前导或尾随符号(零显示为 “+00:00”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时和分钟数。值范围为 –12 到 +13。如果偏移量为单个数字 (0-9),则将其格式化为前面带有 0 (01-09) 并带有适当的前导符号。该时区的设置指定为 +X 或 –X,其中 X 是相对 GMT 以小时为单位的偏移量。所显示的偏移量受夏时制的影响。


    : 时间分隔符。
    / 日期分隔符。
    " 带引号的字符串。显示转义符 (/) 之后两个引号之间的任何字符串的文本值。
    ' 带引号的字符串。显示两个“'”字符之间的任何字符串的文本值。
    %c 其中 c 是标准格式字符,显示与格式字符关联的标准格式模式。
    c 其中 c 是任意字符,转义符将下一个字符显示为文本。在此上下文中,转义符不能用于创建转义序列(如“ ”表示换行)。
    任何其他字符 其他字符作为文本直接写入输出字符串。

    向 DateTime.ToString 传递自定义模式时,模式必须至少为两个字符长。如果只传递“d”,则公共语言运行库将其解释为标准格式说明符,这是因为所有单个格式说明符都被解释为标准 格式说明符。如果传递单个“h”,则引发异常,原因是不存在标准的“h”格式说明符。若要只使用单个自定义格式进行格式化,请在说明符的前面或后面添加一 个空格。例如,格式字符串“h”被解释为自定义格式字符串。

    下 表显示使用任意值 DateTime.Now(该值显示当前时间)的示例。示例中给出了不同的区域性和时区设置,以阐释更改区域性的影响。可以通过下列方法更改当前区域性: 更改 Microsoft Windows 的“日期/时间”控制面板中的值,传递您自己的 DateTimeFormatInfo 对象,或将 CultureInfo 对象设置传递给不同的区域性。此表是说明自定义日期和时间说明符如何影响格式化的快速指南。请参阅该表下面阐释这些说明符的代码示例部分。

    格式说明符 当前区域性 时区 输出
    d, M en-US GMT 12, 4
    d, M es-MX GMT 12, 4
    d MMMM en-US GMT 12 April
    d MMMM es-MX GMT 12 Abril
    dddd MMMM yy gg en-US GMT Thursday April 01 A.D.
    dddd MMMM yy gg es-MX GMT Jueves Abril 01 DC
    h , m: s en-US GMT 6 , 13: 12
    hh,mm:ss en-US GMT 06,13:12
    HH-mm-ss-tt en-US GMT 06-13-12-AM
    hh:mm, GMT z  en-US GMT 05:13 GMT +0
    hh:mm, GMT z  en-US GMT +10:00 05:13 GMT +10
    hh:mm, GMT zzz en-US GMT 05:13 GMT +00:00

  • 相关阅读:
    单例设计模式
    使用JfreeChart生成统计图
    session的生命周期
    json
    struts2 ognl标签使用
    集合小结
    多线程
    内部类和匿名内部类
    模版方法设计模式
    mac中yeoman构建你的项目
  • 原文地址:https://www.cnblogs.com/wjhblogs/p/4617128.html
Copyright © 2011-2022 走看看