标准 DateTime 格式字符串
2024-07-21 02:23:32
供稿:网友
标准 datetime 格式字符串包含下表中的一个格式说明符字符。如果下表中没有该格式说明符,将引发运行时异常。如果格式字符串在长度上比单个字符长(即使多出的字符是空白),则格式字符串被解释为自定义格式字符串。
请注意,这些格式说明符产生的输出字符串受“区域选项”控制面板中的设置的影响。计算机的区域性设置或日期和时间设置不同,将生成不同的输出字符串。
格式字符串显示的时间和日期分隔符由与当前区域性的 datetimeformat 属性关联的 dateseparator 和 timeseparator 字符定义。然而,如果 invariantculture 被“r”、“s”和“u”说明符引用,与 dateseparator 和 timeseparator 字符关联的字符不随当前区域性更改。
下表描述了用来格式化 datetime 对象的标准格式说明符。
格式说明符 名称 说明
d 短日期模式 显示由与当前线程关联的 datetimeformatinfo.shortdatepattern 属性定义的模式或者由指定格式提供程序定义的模式。
d 长日期模式 显示由与当前线程关联的 datetimeformatinfo.longdatepattern 属性定义的模式或者由指定格式提供程序定义的模式。
t 短时间模式 显示由与当前线程关联的 datetimeformatinfo.shorttimepattern 属性定义的模式或者由指定格式提供程序定义的模式。
t 长时间模式 显示由与当前线程关联的 datetimeformatinfo.longtimepattern 属性定义的模式或者由指定格式提供程序定义的模式。
f 完整日期/时间模式(短时间) 显示长日期和短时间模式的组合,由空格分隔。
f 完整日期/时间模式(长时间) 显示由与当前线程关联的 datetimeformatinfo.fulldatetimepattern 属性定义的模式或者由指定格式提供程序定义的模式。
g 常规日期/时间模式(短时间) 显示短日期和短时间模式的组合,由空格分隔。
g 常规日期/时间模式(长时间) 显示短日期和长时间模式的组合,由空格分隔。
m 或 m 月日模式 显示由与当前线程关联的 datetimeformatinfo.monthdaypattern 属性定义的模式或者由指定格式提供程序定义的模式。
r 或 r rfc1123 模式 显示由与当前线程关联的 datetimeformatinfo.rfc1123pattern 属性定义的模式或者由指定格式提供程序定义的模式。这是定义的标准,并且属性是只读的;因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。属性引用 cultureinfo.invariantculture 属性并遵照自定义模式“ddd, dd mmm yyyy hh:mm:ss g/mt”。请注意,“gmt”中的“m”需要转义符,因此它不被解释。格式化并不修改 datetime 的值,所以您必须在格式化之前将值调整为 gmt。
s 可排序的日期/时间模式;符合 iso 8601 显示由与当前线程关联的 datetimeformatinfo.sortabledatetimepattern 属性定义的模式或者由指定格式提供程序定义的模式。属性引用 cultureinfo.invariantculture 属性,格式遵照自定义模式“yyyy-mm-ddthh:mm:ss”。
u 通用的可排序日期/时间模式 显示由与当前线程关联的 datetimeformatinfo.universalsortabledatetimepattern 属性定义的模式或者由指定格式提供程序定义的模式。因为它是定义的标准,并且属性是只读的,因此无论区域性或格式提供程序是什么,模式总是相同的。格式化遵照自定义模式“yyyy-mm-dd hh:mm:ssz”。格式化日期和时间时不进行时区转换;所以,请在使用格式说明符之前将本地日期和时间转换为通用时间。
u 通用的可排序日期/时间模式 显示由与当前线程关联的 datetimeformatinfo.fulldatetimepattern 属性定义的模式或者由指定格式提供程序定义的模式。请注意,显示的时间是通用时间,而不是本地时间。
y 或 y 年月模式 显示由与当前线程关联的 datetimeformatinfo.yearmonthpattern 属性定义的模式或者由指定格式提供程序定义的模式。
任何其他单个字符 未知说明符
下面的示例说明了标准格式字符串如何与 datetime 对象一起使用。
[visual basic]
dim dt as datetime = datetime.now
dim dfi as datetimeformatinfo = new datetimeformatinfo()
dim ci as cultureinfo = new cultureinfo("de-de")
' make up a new custom datetime pattern, for demonstration.
dfi.monthdaypattern = "mm-mmmm, ddd-dddd"
' use the datetimeformat from the culture associated
' with the current thread.
console.writeline( dt.tostring("d") )
console.writeline( dt.tostring("m") )
' use the datetimeformat from the specific culture passed.
console.writeline( dt.tostring("d", ci ) )
' use the settings from the datetimeformatinfo object passed.
console.writeline( dt.tostring("m", dfi ) )
' reset the current thread to a different culture.
thread.currentthread.currentculture = new cultureinfo("fr-be")
console.writeline( dt.tostring("d") )
[c#]
datetime dt = datetime.now;
datetimeformatinfo dfi = new datetimeformatinfo();
cultureinfo ci = new cultureinfo("de-de");
// make up a new custom datetime pattern, for demonstration.
dfi.monthdaypattern = "mm-mmmm, ddd-dddd";
// use the datetimeformat from the culture associated
// with the current thread.
console.writeline( dt.tostring("d") );
console.writeline( dt.tostring("m") );
// use the datetimeformat from the specific culture passed.
console.writeline( dt.tostring("d", ci ) );
// use the settings from the datetimeformatinfo object passed.
console.writeline( dt.tostring("m", dfi ) );
// reset the current thread to a different culture.
thread.currentthread.currentculture = new cultureinfo("fr-be");
console.writeline( dt.tostring("d") );
请参见
格式化概述 | 格式化类型 | 日期与时间格式字符串 | 标准 datetime 格式字符串输出示例
发送有关此主题的意见
© 2001-2002 microsoft corporation。保留所有权利。