日期时间格式的核心是通过格式符定义datetime对象(或类似时间类型)的字符串输出规则,c#中主要分为预定义格式(快捷常用)和自定义格式(灵活可控)两类。
datetime的格式符
1.核心概念
格式符是一串约定好的字符(如yyyy、hh),用于告诉程序如何解析或显示日期时间的各个部分(年、月、日、时、分、秒等)。
2.预定义格式(快捷方案,直接复用)
格式符 | 名称 | 说明 | 示例 |
d | 短日期格式 | 简洁日期,无星期 | 2025-11-11(或11/11/2025,看区域) |
d | 长日期格式 | 完整日期,含星期 | 2025年11月11日 星期二 |
t | 短时间格式 | 仅时分,无秒 | 15:30 |
t | 长时间格式 | 时分秒完整 | 15:30:45 |
f | 完整日期+短时间 | 长日期+短时间 | 2025年11月11日 星期二 15:30 |
f | 完整日期+长时间 | 长日期+长时间 | 2025年11月11日 星期二 15:30:45 |
s | iso可排序格式 | 国际标准,便于序列化/传输 | 2025-11-11t15:30:45(跨系统通用) |
u | 通用可排序格式 | utc时间,带z标识 | 2025-11-11 15:30:45z |
y | 年月格式 | 仅显示年和月 | 2025年11月 |
o | 往返格式 | 保留时区和毫秒,可反向解析 | 2025-11-11t15:30:45.1230000+08:00 |
3.自定义格式(灵活可控,精准定义)
通过单个格式符组合,完全控制输出结构,不受区域影响,常用格式符按年、月、日、时、分、秒、毫秒、其他分类整理:
3.1.年(year)
格式符 | 说明 | 示例(2025 年) |
y | 1-2 位年(不足补0) | 25(2025)、5(2005) |
yy | 强制2位年(不足补0) | 25(2025)、05(2005) |
yyyy | 4位年(推荐,避免歧义) | 2025 |
yyyyy | 5位年(前补0,极少用) | 02025 |
3.2.月(month)
格式符 | 说明 | 示例(11月) |
m | 1-2位数字月(不足补0) | 11(11月)、3(3月) |
mm | 强制2位数字月(推荐) | 11(11月)、03(3月) |
mmm | 月份缩写(中文为单字) | 十一(中文)、nov(英文) |
mmmm | 月份全称 | 十一月(中文)、november(英文) |
3.3.日(day)
格式符 | 说明 | 示例(11 日) |
d | 1-2位数字日(不足补0) | 11(11日)、5(5日) |
dd | 强制 2 位数字日(推荐) | 11(11日)、05(5日) |
ddd | 星期缩写 | 周二(中文)、tue(英文) |
dddd | 星期全称 | 星期二(中文)、tuesday(英文) |
dddddd | 本地短日期中的日部分(同dd) | 11 |
3.4.时(hour)
格式符 | 说明 | 示例(15点/下午3点) |
h | 12小时制(1-12,不足补0) | 3(下午)、9(上午) |
hh | 强制2位12小时制(推荐) | 03(下午)、09(上午) |
h | 24小时制(0-23,不足补0) | 15(下午3点)、9(上午9点) |
hh | 强制2位24小时制(推荐) | 15(下午3点)、09(上午9点) |
3.5.分(minute)、秒(second)、毫秒(millisecond)
格式符 | 说明 | 示例(30分、45秒、123毫秒) |
m | 1-2位分钟(不足补0) | 30(30分)、5(5分) |
mm | 强制2位分钟(推荐) | 30(30分)、05(5分) |
s | 1-2位秒(不足补0) | 45(45秒)、3(3秒) |
ss | 强制2位秒(推荐) | 45(45秒)、03(3秒) |
f | 1位毫秒(最多7位) | 1(123毫秒→1)、4(450毫秒→4) |
ff | 2位毫秒 | 12(123毫秒→12)、45(450毫秒→45) |
fff | 3位毫秒(常用,精准到毫秒) | 123(123毫秒) |
ffff | 4位毫秒(含微秒部分) | 1230(123毫秒=123000微秒) |
3.6.其他辅助符号
1)分隔符:可直接插入 -、/、:、、t 等,用于分隔日期时间部分,例如 yyyy-mm-dd hh:mm:ss。
2)am/pm 标识:tt → 中文显示「上午 / 下午」,英文显示「am/pm」,搭配 12 小时制使用(如 hh:mm:ss tt → 03:30:45 下午)。
3)时区标识:zzz → 显示时区偏移(如 utc+8 显示「+08:00」)。
到此这篇关于c#中datetime的格式符的实现示例的文章就介绍到这了,更多相关c# datetime格式符内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论