zoukankan      html  css  js  c++  java
  • .Net日期时间格式化输出大全 DateTime.ToString(?)

    日期时间的输出和显示,在日常应用中,是最普遍的了。因为不同的情况,我们通常需要将日期时间以各种不同的样式格式化后输出,而不是简单的显示。

    日期时间、数字、货币等的格式,默认情况下是受操作系统的区域设置影响的,在程序里,就体现在 当前线程的culture上(Thread.CurrentThread.CurrentCulture),为了避免区域不同的影响,我们通常需要设置

    Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;

    虽然 System.DateTime 本身已经具有了不少现成的格式化输出,例如: ToLongDateString, ToShortTimeString, ToUniversalTime 等,但是却远远不能满足我们实际的需要,这就要用到了 DateTime.ToString,就要提到 DateTimeFormatInfo 了,见下面的 MSDN 说明:

    格式字符

    关联属性/说明

    d

    ShortDatePattern

    D

    LongDatePattern

    f

    完整日期和时间(长日期和短时间)

    F

    FullDateTimePattern(长日期和长时间)

    g

    常规(短日期和短时间)

    G

    常规(短日期和长时间)

    m、M

    MonthDayPattern

    r、R

    RFC1123Pattern

    s

    使用当地时间的 SortableDateTimePattern(基于 ISO 8601)

    t

    ShortTimePattern

    T

    LongTimePattern

    u

    UniversalSortableDateTimePattern 用于显示通用时间的格式

    U

    使用通用时间的完整日期和时间(长日期和长时间)

    y、Y

    YearMonthPattern

    具体使用时的格式参见:

    格式模式

    说明

    d、%d

    月中的某一天。一位数的日期没有前导零。如果该格式模式没有与其他格式模式组合,则指定“%d”。

    dd

    月中的某一天。一位数的日期有一个前导零。

    ddd

    周中某天的缩写名称,在 AbbreviatedDayNames 中定义。

    dddd

    周中某天的完整名称,在 DayNames 中定义。

    M、%M

    月份数字。一位数的月份没有前导零。如果该格式模式没有与其他格式模式组合,则指定“%M”。

    MM

    月份数字。一位数的月份有一个前导零。

    MMM

    月份的缩写名称,在 AbbreviatedMonthNames 中定义。

    MMMM

    月份的完整名称,在 MonthNames 中定义。

    y、%y

    不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。如果该格式模式没有与其他格式模式组合,则指定“%y”。

    yy

    不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。

    yyyy

    包括纪元的四位数的年份。

    gg

    时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。

    h、%h

    12 小时制的小时。一位数的小时数没有前导零。如果该格式模式没有与其他格式模式组合,则指定“%h”。

    hh

    12 小时制的小时。一位数的小时数有前导零。

    H、%H

    24 小时制的小时。一位数的小时数没有前导零。如果该格式模式没有与其他格式模式组合,则指定“%H”。

    HH

    24 小时制的小时。一位数的小时数有前导零。

    m、%m

    分钟。一位数的分钟数没有前导零。如果该格式模式没有与其他格式模式组合,则指定“%m”。

    mm

    分钟。一位数的分钟数有一个前导零。

    s、%s

    秒。一位数的秒数没有前导零。如果该格式模式没有与其他格式模式组合,则指定“%s”。

    ss

    秒。一位数的秒数有一个前导零。

    f、%f

    秒的小数精度为一位。其余数字被截断。如果该格式模式没有与其他格式模式组合,则指定“%f”。

    ff

    秒的小数精度为两位。其余数字被截断。

    fff

    秒的小数精度为三位。其余数字被截断。

    ffff

    秒的小数精度为四位。其余数字被截断。

    fffff

    秒的小数精度为五位。其余数字被截断。

    ffffff

    秒的小数精度为六位。其余数字被截断。

    fffffff

    秒的小数精度为七位。其余数字被截断。

    F、%F

    显示秒的小数部分的最高有效数字。如果该数字为零,则不显示任何内容。如果该格式模式没有与其他格式模式组合,则指定“%F”。

    FF

    显示秒的小数部分的两个最高有效数字。但是,不显示尾随的零(两个零数字)。

    FFF

    显示秒的小数部分的三个最高有效数字。但是,不显示尾随的零(三个零数字)。

    FFFF

    显示秒的小数部分的四个最高有效数字。但是,不显示尾随的零(四个零数字)。

    FFFFF

    显示秒的小数部分的五个最高有效数字。但是,不显示尾随的零(五个零数字)。

    FFFFFF

    显示秒的小数部分的六个最高有效数字。但是,不显示尾随的零(六个零数字)。

    FFFFFFF

    显示秒的小数部分的七个最高有效数字。但是,不显示尾随的零(七个零数字)。

    t、%t

    AMDesignatorPMDesignator 中定义的 AM/PM 指示项的第一个字符(如果存在)。如果该格式模式没有与其他格式模式组合,则指定“%t”。

    tt

    AMDesignatorPMDesignator 中定义的 AM/PM 指示项(如果存在)。

    z、%z

    时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。如果该格式模式没有与其他格式模式组合,则指定“%z”。

    zz

    时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。

    zzz

    完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。

    :

    TimeSeparator 中定义的默认时间分隔符。

    /

    DateSeparator 中定义的默认日期分隔符。

    % c

    其中 c 是格式模式(如果单独使用)。也就是说,若要单独使用格式模式“d”、“f”、“F”、“h”、“m”、“s”、“t”、“y”、“z”、“H”或“M”,请指定“%d”、“%f”、“%F”、“%h”、“%m”、“%s”、“%t”、“%y”、“%z”、“%H”或“%M”。

    如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。

    \ c

    其中 c 是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“\\”。


  • 相关阅读:
    Java: Regular Expressions
    Java: Checked & Unchecked Exceptions
    二叉树的构建和层级打印
    [leetcode] 1032: Stream of Characters: Tries&AC自动机
    [leetcode] 1503: Previous Permutation With One Swap
    robot moving on the surface of a square
    killing rabbits
    Find the longest route with the smallest starting point
    [leetcode] Minimum Number of K Consecutive Bit Flips
    检测设备横屏 || 竖屏的状态
  • 原文地址:https://www.cnblogs.com/mimi001/p/1671494.html
Copyright © 2011-2022 走看看