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 是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“\\”。

  • 相关阅读:
    个人冲刺二(7)
    个人冲刺二(6)
    个人冲刺二(5)
    个人冲刺二(4)
    对称二叉树 · symmetric binary tree
    108 Convert Sorted Array to Binary Search Tree数组变成高度平衡的二叉树
    530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值
    pp 集成工程师 mism师兄问一问
    17. Merge Two Binary Trees 融合二叉树
    270. Closest Binary Search Tree Value 二叉搜索树中,距离目标值最近的节点
  • 原文地址:https://www.cnblogs.com/zxh0208/p/1858268.html
Copyright © 2011-2022 走看看