您当前的位置:首页 > 计算机 > 编程开发 > .net

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

时间:12-12来源:作者:点击数:
城东书院 www.cdsy.xyz

日期格式化{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 是任意字符,转义符将下一个字符显示为文本。在此上下文中,转义符不能用于创建转义序列(如“\n”表示换行)。

任何其他字符 其他字符作为文本直接写入输出字符串。

向 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, G\MT z  en-US GMT 05:13 GMT +0

hh:mm, G\MT z  en-US GMT +10:00 05:13 GMT +10

hh:mm, G\MT zzz en-US GMT 05:13 GMT +00:00

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐