数据格式化
货币值
格式符 | 初始值 | 输出样式 | 备注 |
---|---|---|---|
{0:C} | 10.2 | ¥10.20 | 当前环境币别,未指定小数位数参数,则默认2位小数 |
{0:C1} | 10.25 | ¥10.3 | 当前环境币别,指定保留一位小数,四舍五入 |
整数
格式符 | 初始值 | 输出样式 | 备注 |
---|---|---|---|
{0:D} | 12345 | 12345 | 以数值模式显示,默认不调整位数 |
{0:D6} | 12345 | 012345 | 因指定6位数,则前置补0 |
{0:D6} | -12345 | -012345 | 负数,则负号后补0 |
所有数值
格式符 | 初始值 | 输出样式 | 备注 |
---|---|---|---|
{0:G} | 1234.5 | 1234.5 | 默认为原有数值位数 |
{0:G4} | 1234.5 | 1235 | 4位有效位数,则四舍五入,仅保留4位数字 |
{0:G4} | 12345 | 1.235E+04 | 仅保留4位有效位,已经小于有效位数了 |
{0:G6} | 1234.5 | 1234.5 | 超过当前有效位数,仍保留原位数 |
整数和十进制小数
格式符 | 初始值 | 输出样式 | 备注 |
---|---|---|---|
{0:F} | 12345 | 12345.00 | 默认保留2位小数 |
{0:F} | 12345.6 | 12345.60 | 默认保留2位小数 |
{0:F0} | 12345.6 | 12346 | 保留0位小数,四舍五入 |
{0:F1} | 12345.67 | 12345.7 | 保留1位小数,四舍五入 |
{0:F3} | -12345.6 | -12345.600 | 支持负数,补为3位小数 |
{0:N} | 12345 | 12,345.00 | 默认2位小数,整数部分添加千分位 |
{0:N3} | 12345.6 | 12,345.600 | 指定3位小数,整数部分添加千分位 |
{0:N3} | -12345.6 | -12,345.600 | 指定3位小数,整数部分添加千分位 |
百分比
格式符 | 初始值 | 输出样式 | 备注 |
---|---|---|---|
{0:P} | 0.12345 | 12.35% | 乘以100后,默认保留2位小数,四舍五入 |
{0:P1} | 0.12345 | 12.3% | 乘以100后,保留1位小数,四舍五入 |
{0:P1} | 1.2345 | 123.5% | 乘以100后,保留1位小数,四舍五入 |
十六进制
格式符 | 初始值 | 输出样式 | 备注 |
---|---|---|---|
{0:X} | 15 | F | 整数,转换成十六进制 |
{0:X2} | 15 | 0F | 整数,转换成十六进制 |
{0:X} | 255 | FF | 整数,转换成十六进制 |
{0:X} | -255 | FFFFFF01 | 整数,转换成十六进制 |
日期格式
格式符 | 初始值 | 输出样式 | 备注 |
---|---|---|---|
{0:d} | 2009-06-15T13:45:30 | 6/15/2009 | 短日期模式(en-US) |
{0:D} | 2009-06-15T13:45:30 | Monday, June 15, 2009 | 长日期模式(en-US) |
{0:f} | 2009-06-15T13:45:30 | Monday, June 15, 2009 1:45 PM | 完整日期/时间模式(短时间)(en-US) |
{0:F} | 2009-06-15T13:45:30 | Monday, June 15, 2009 1:45:30 PM | 完整日期/时间模式(长时间)(en-US) |
{0:g} | 2009-06-15T13:45:30 | 6/15/2009 1:45 PM | 常规日期/时间模式(短时间)(en-US) |
{0:G} | 2009-06-15T13:45:30 | 6/15/2009 1:45:30 PM | 常规日期/时间模式(长时间)(en-US) |
{0:M}/{0:m} | 2009-06-15T13:45:30 | June 15 | 月/日模式(en-US) |
{0:R}/{0:r} | 2009-06-15T13:45:30 | Mon, 15 Jun 2009 20:45:30 GMT | RFC1123 模式 |
{0:s} | 2009-06-15T13:45:30 (DateTimeKind.Local) | 2009-06-15T13:45:30 | 可排序日期/时间模式 |
{0:t} | 2009-06-15T13:45:30 | 1:45 PM | 短时间模式(en-US) |
{0:T} | 2009-06-15T13:45:30 | 1:45:30 PM | 长时间模式(en-US) |
{0:u} | 2009-06-15T13:45:30 | 2009-06-15 13:45:30Z | 通用可排序日期/时间模式 |
{0:U} | 2009-06-15T13:45:30 | Monday, June 15, 2009 8:45:30 PM | 通用完整日期/时间模式(en-US) |
{0:Y}/{0:y} | 2009-06-15T13:45:30 | June 2009 | 年月模式(en-US) |
下面提供的是自定义的格式字符串,区别与上述的系统标识格式符号,自定义的格式符是可以多个连写来标识一个特定格式的,如果是碰到一个单个的自定义格式符时,优先会按系统标准符号进行解析
使用年方式如下:{0:0000}
,\{0:#,##\}
, \{0:dd MM YYYY\}
自定义数字格式符
格式符 | 属性 | 说明 | 示例 |
---|---|---|---|
0 | 零占位符 | 用对应的数字(如果存在)替换零;否则,将在结果字符串中显示零。 | 1234.5678 ("00000") -> 01235; 0.45678 ("0.00", en-US) -> 0.46; 0.45678 ("0.00", fr-FR) -> 0,46 |
# | 数字占位符 | 用对应的数字(如果存在)替换“#”符号;否则,不会在结果字符串中显示任何数字。请注意,如果输入字符串中的相应数字是无意义的 0,则在结果字符串中不会出现任何数字。 例如,0003 ("####") -> 3。 | 1234.5678 ("#####") -> 1235; 0.45678 ("#.##", en-US) -> .46; 0.45678 ("#.##", fr-FR) -> ,46 |
. | 小数点 | 确定小数点分隔符在结果字符串中的位置。 | 0.45678 ("0.00", en-US) -> 0.46; 0.45678 ("0.00", fr-FR) -> 0,46 |
, | 组分隔符和数字比例换算 | 用作组分隔符和数字比例换算说明符。 作为组分隔符时,它在各个组之间插入本地化的组分隔符字符。 作为数字比例换算说明符,对于每个指定的逗号,它将数字除以 1000。 | 组分隔符说明符:2147483647 ("##,#", en-US) -> 2,147,483,647; 2147483647 ("##,#", es-ES) -> 2.147.483.647; 比例换算说明符: 2147483647 ("#,#,,", en-US) -> 2,147; 2147483647 ("#,#,,", es-ES) -> 2.147 |
% | 百分比占位符 | 将数字乘以 100,并在结果字符串中插入本地化的百分比符号。 | 0.3697 ("%#0.00", en-US) -> %36.97; 0.3697 ("%#0.00", el-GR) -> %36,97; 0.3697 ("##.0 %", en-US) -> 37.0 %; 0.3697 ("##.0 %", el-GR) -> 37,0 % |
‰ | 千分比占位符 | 将数字乘以 1000,并在结果字符串中插入本地化的千分比符号。 | 0.03697 ("#0.00‰", en-US) -> 36.97‰; 0.03697 ("#0.00‰", ru-RU) -> 36,97‰ |
E0,E+0,E-0,E0,E+0,E-0 | 指数表示法 | 如果后跟至少一个 0(零),则使用指数表示法设置结果格式。 “E”或“e”指示指数符号在结果字符串中是大写还是小写。 跟在“E”或“e”字符后面的零的数目确定指数中的最小位数。 加号 (+) 指示符号字符总是置于指数前面。 减号 (-) 指示符号字符仅置于负指数前面。 | 987654 ("#0.0e0") -> 98.8e4; 1503.92311 ("0.0##e+00") -> 1.504e+03; 1.8901385E-16 ("0.0e+00") -> 1.9e-16 |
\ | 转义符 | 使下一个字符被解释为文本而不是自定义格式说明符 | 987654 ("###00#") -> #987654# |
string | 文本字符串分隔符 | 指示应复制到未更改的结果字符串的封闭字符。 | 68 ("# 'degrees'") -> 68 degrees; 68 ("#' degrees'") -> 68 degrees |
; | 部分分隔符 | 通过分隔格式字符串定义正数、负数和零各部分。 | 12.345 ("#0.0#;(#0.0#);-\0-") -> 12.35; 0 ("#0.0#;(#0.0#);-\0-") -> -0-; -12.345 ("#0.0#;(#0.0#);-\0-") -> (12.35); 12.345 ("#0.0#;(#0.0#)") -> 12.35; 0 ("#0.0#;(#0.0#)") -> 0.0; -12.345 ("#0.0#;(#0.0#)") -> (12.35) |
自定义日期格式符
格式符 | 说明 | 示例 |
---|---|---|
d | 一个月中的某一天(1 到 31) | 2009-06-01T13:45:30 -> 1; 2009-06-15T13:45:30 -> 15 |
dd | 一个月中的某一天(01 到 31)。 | 2009-06-01T13:45:30 -> 01; 2009-06-15T13:45:30 -> 15 |
ddd | 一周中某天的缩写名称。 | 2009-06-15T13:45:30 -> Mon (en-US) |
dddd | 一周中某天的完整名称 | 2009-06-15T13:45:30 -> Monday (en-US) |
f” | 日期和时间值的十分之几秒 | 2009-06-15T13:45:30.6170000 -> 6; 2009-06-15T13:45:30.05 -> 0 |
ff | 日期和时间值的百分之几秒 | 2009-06-15T13:45:30.6170000 -> 61; 2009-06-15T13:45:30.0050000 -> 00 |
fff | 日期和时间值的千分之几秒 | 6/15/2009 13:45:30.617 -> 617; 6/15/2009 13:45:30.0005 -> 000 |
ffff | 日期和时间值的万分之几秒 | 2009-06-15T13:45:30.6175000 -> 6175; 2009-06-15T13:45:30.0000500 -> 0000 |
fffff | 日期和时间值的十万分之几秒 | 2009-06-15T13:45:30.6175400 -> 61754; 6/15/2009 13:45:30.000005 -> 00000 |
ffffff | 日期和时间值的百万分之几秒 | 2009-06-15T13:45:30.6175420 -> 617542; 2009-06-15T13:45:30.0000005 -> 000000 |
fffffff | 日期和时间值的千万分之几秒 | 2009-06-15T13:45:30.6175425 -> 6175425; 2009-06-15T13:45:30.0001150 -> 0001150 |
F | 如果非零,则为日期和时间值的十分之几秒。 | 2009-06-15T13:45:30.6170000 -> 6; 2009-06-15T13:45:30.0500000 ->(无输出) |
FF | 如果非零,则为日期和时间值的百分之几秒。 | 2009-06-15T13:45:30.6170000 -> 61; 2009-06-15T13:45:30.0050000 ->(无输出) |
FFF | 如果非零,则为日期和时间值的千分之几秒。 | 2009-06-15T13:45:30.6170000 -> 617; 2009-06-15T13:45:30.0005000 ->(无输出) |
FFFF | 如果非零,则为日期和时间值的万分之几秒。 | 2009-06-15T13:45:30.5275000 -> 5275; 2009-06-15T13:45:30.0000500 ->(无输出) |
FFFFF | 如果非零,则为日期和时间值的十万分之几秒。 | 2009-06-15T13:45:30.6175400 -> 61754; 2009-06-15T13:45:30.0000050 ->(无输出) |
FFFFFF | 如果非零,则为日期和时间值的百万分之几秒。 | 2009-06-15T13:45:30.6175420 -> 617542; 2009-06-15T13:45:30.0000005 ->(无输出) |
FFFFFFF | 如果非零,则为日期和时间值的千万分之几秒。 | 2009-06-15T13:45:30.6175425 -> 6175425; 2009-06-15T13:45:30.0001150 -> 000115 |
g、gg | 时期或纪元。 | 2009-06-15T13:45:30.6170000 -> A.D. |
h | 采用 12 小时制的小时(从 1 到 12) | 2009-06-15T01:45:30 -> 1; 2009-06-15T13:45:30 -> 1 |
hh | 采用 12 小时制的小时(从 01 到 12)。 | 2009-06-15T01:45:30 -> 01; 2009-06-15T13:45:30 -> 01 |
H | 采用 24 小时制的小时(从 0 到 23) | 2009-06-15T01:45:30 -> 1; 2009-06-15T13:45:30 -> 13 |
HH | 采用 24 小时制的小时(从 00 到 23) | 2009-06-15T01:45:30 -> 01; 2009-06-15T13:45:30 -> 13 |
K | 时区信息。 | 带 DateTime 值:2009-06-15T13:45:30, Kind Unspecified ->2009-06-15T13:45:30, Kind Utc -> Z;2009-06-15T13:45:30, Kind Local -> -07:00(取决于本地计算机的设置);带 DateTimeOffset 值:2009-06-15T01:45:30-07:00 --> -07:00; 2009-06-15T08:45:30+00:00 --> +00:00 |
m | 分钟(0 到 59) | 2009-06-15T01:09:30 -> 9; 2009-06-15T13:29:30 -> 29 |
mm | 分钟(00 到 59) | 2009-06-15T01:09:30 -> 09; 2009-06-15T01:45:30 -> 45 |
M | 月份(1 到 12) | 2009-06-15T13:45:30 -> 6 |
MM | 月份(01 到 12) | 2009-06-15T13:45:30 -> 06 |
MMM | 月份的缩写名称 | 2009-06-15T13:45:30 -> Jun (en-US) |
MMMM | 月份的完整名称 | 2009-06-15T13:45:30 -> June (en-US) |
s | 秒(0 到 59) | 2009-06-15T13:45:09 -> 9 |
ss | 秒(00 到 59) | 2009-06-15T13:45:09 -> 09 |
t | AM/PM 指示符的第一个字符 | 2009-06-15T13:45:30 -> P (en-US) |
tt | AM/PM 指示符 | 2009-06-15T13:45:30 -> PM (en-US); 2009-06-15T13:45:30 -> 午後 (ja-JP) |
y | 年份(0 到 99) | 0001-01-01T00:00:00 -> 1; 0900-01-01T00:00:00 -> 0; 1900-01-01T00:00:00 -> 0; 2009-06-15T13:45:30 -> 9; 2019-06-15T13:45:30 -> 19 |
yy | 年份(00 到 99) | 0001-01-01T00:00:00 -> 01; 0900-01-01T00:00:00 -> 00; 1900-01-01T00:00:00 -> 00; 2019-06-15T13:45:30 -> 19 |
yyy | 年份(最少三位数字) | 0001-01-01T00:00:00 -> 001; 0900-01-01T00:00:00 -> 900; 1900-01-01T00:00:00 -> 1900; 2009-06-15T13:45:30 -> 2009 |
yyyy | 由四位数字表示的年份 | 0001-01-01T00:00:00 -> 0001; 0900-01-01T00:00:00 -> 0900; 1900-01-01T00:00:00 -> 1900; 2009-06-15T13:45:30 -> 2009 |
yyyyy | 由五位数字表示的年份 | 0001-01-01T00:00:00 -> 00001; 2009-06-15T13:45:30 -> 02009 |
z | 相对于 UTC 的小时偏移量,无前导零。 | 2009-06-15T13:45:30-07:00 -> -7 |
zz | 相对于 UTC 的小时偏移量,带有表示一位数值的前导零。 | 2009-06-15T13:45:30-07:00 -> -07 |
zzz | 相对于 UTC 的小时和分钟偏移量 | 2009-06-15T13:45:30-07:00 -> -07:00 |
: | 时间分隔符 | 2009-06-15T13:45:30 -> : (en-US) |
/ | 日期分隔符 | 2009-06-15T13:45:30 -> / (en-US) |
string | 文本字符串分隔符 | 2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P; 2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P |
% | 将下面的字符定义为自定义格式说明符 | 2009-06-15T13:45:30 (%h) -> 1 |
\ | 转义字符 | 2009-06-15T13:45:30 (h \h) -> 1 h |
自定义日期变量格式字符串
类别 | 格式符 | 说明 | 示例 |
---|---|---|---|
年 | YYYY | 四位数年份 | 2023 |
YY | 两位数年份 | 23 | |
月 | Month | 完整的月份名称 | January |
Mon | 月份缩写 | Jan | |
MM | 两位数月份 | 01-31 | |
日 | Day | 完整的星期几名称 | Sunday |
Dy | 星期几缩写 | Sun | |
DD | 两位数日期 | 01 | |
小时 | HH | 12进制两位数小时 | 01-12 |
HH24 | 24进制两位数小时 | 00-23 | |
分钟 | MI | 两位数分钟 | 00-59 |
秒 | SS | 两位数的秒 | 00-59 |
MS | 毫秒 | 000-999 | |
US | 微妙 | 000000-999999 | |
时区 | OF | 时区偏移量 | +02 |
TZ | 时区名称或偏移量 | UTC+2 | |
上下午 | AM | 根据具体时间显示AM/PM | AM |
PM | 根据具体时间显示AM/PM | PM | |
其他 | BC | 公元前 | |
AD | 公元 |