标准日期和时间格式字符串由一个单个格式说明符组成,用于表示特定的日期和时间格式。
1. 短日期格式(d)
以短日期格式显示日期,具体格式取决于系统的区域设置。
DateTime now = DateTime.Now;
string shortDate = now.ToString("d");
Console.WriteLine(shortDate); // 例如在中文区域可能输出:2024/10/01
2. 长日期格式(D)
以长日期格式显示日期,包含星期几等详细信息,同样取决于系统区域设置。
string longDate = now.ToString("D");
Console.WriteLine(longDate); // 例如在中文区域可能输出:2024年10月01日 星期二
3. 短时间格式(t)
以短时间格式显示时间,通常只包含小时和分钟。
string shortTime = now.ToString("t");
Console.WriteLine(shortTime); // 例如可能输出:14:30
4. 长时间格式(T)
以长时间格式显示时间,包含小时、分钟和秒。
string longTime = now.ToString("T");
Console.WriteLine(longTime); // 例如可能输出:14:30:45
5. 通用日期短时间格式(g)
结合短日期和短时间格式。
string generalShort = now.ToString("g");
Console.WriteLine(generalShort); // 例如可能输出:2024/10/01 14:30
6. 通用日期长时间格式(G)
结合短日期和长时间格式。
string generalLong = now.ToString("G");
Console.WriteLine(generalLong); // 例如可能输出:2024/10/01 14:30:45
7. RFC1123 格式(R 或 r)
以符合 RFC 1123 规范的格式显示日期和时间,常用于 HTTP 协议
string rfc1123 = now.ToString("R");
Console.WriteLine(rfc1123); // 例如输出:Tue, 01 Oct 2024 14:30:45 GMT
8. ISO 8601 格式(o 或 O)
以符合 ISO 8601 标准的格式显示日期和时间,具有良好的跨平台兼容性。
string iso8601 = now.ToString("o");
Console.WriteLine(iso8601); // 例如输出:2024-10-01T14:30:45.1234567
自定义日期和时间格式字符串
自定义日期和时间格式字符串允许你根据自己的需求组合各种日期和时间元素。
1. 年、月、日相关
yyyy:四位年份,如 2024
yy:两位年份,如 24
MM:两位月份,如 01 - 12
M:一位或两位月份,如 1 - 12
dd:两位日期,如 01 - 31
d:一位或两位日期,如 1 - 31
示例:
string customDate = now.ToString("yyyy-MM-dd");
Console.WriteLine(customDate); // 输出:2024-10-01
2. 小时、分钟、秒相关
HH:24 小时制的两位小时数,如 00 - 23
H:24 小时制的一位或两位小时数,如 0 - 23
hh:12 小时制的两位小时数,如 01 - 12
h:12 小时制的一位或两位小时数,如 1 - 12
mm:两位分钟数,如 00 - 59
m:一位或两位分钟数,如 0 - 59
ss:两位秒数,如 00 - 59
s:一位或两位秒数,如 0 - 59
示例:
string customTime = now.ToString("HH:mm:ss");
Console.WriteLine(customTime); // 输出:14:30:45
3. 其他元素
tt:上午或下午标识,如 AM 或 PM
zzz:时区偏移量,如 +08:00
string customFull = now.ToString("yyyy-MM-dd HH:mm:ss tt zzz");
Console.WriteLine(customFull); // 例如输出:2024-10-01 14:30:45 PM +08:00