C#如何实现日期时间的格式化输出

寻技术 C#编程 2023年07月11日 79

这篇文章主要讲解了“C#如何实现日期时间的格式化输出”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何实现日期时间的格式化输出”吧!

DateTime被放在System命名空间下,在顶级语句中不必using可直接使。

单个字母格式化

DateTime最常用的属性是Now,表示当前的时刻,其数据类型也是DateTime。但一般来说,Now包含的内容有些多,比较合适的用法是通过一些关键字进行格式化输出,这些关键字可以是单个的字母,如下例所示

string[] formatLst = new string[] { "d", "D", "f", "F", "g", "G", "t", "T", "u", "U", "m", "M", "r", "R", "y", "Y", "o", "O", "s" };
foreach (var item in formatLst)
{
    var now = DateTime.Now;
    Console.WriteLine($"{item}|{now.ToString(item)}");
}
标志 输出

2023/3/3 15:41:59
d 2023/3/3
D 2023年3月3日
f 2023年3月3日 15:41
F 2023年3月3日 15:41:00
g 2023/3/3 15:41
G 2023/3/3 15:41:00
t 15:41
T 15:41:00
u 2023-03-03 15:41:00Z
U 2023年3月3日 7:41:00
m 3月3日
M 3月3日
r Fri, 03 Mar 2023 15:41:00 GMT
R Fri, 03 Mar 2023 15:41:00 GMT
y 2023年3月
Y 2023年3月
o 2023-03-03T15:41:00.4768044+08:00
O 2023-03-03T15:41:00.4769105+08:00
s 2023-03-03T15:41:00

其中,

U
表示本初子午线的长日期和长时间。

自定义格式化

ToString
也重载了更加复杂的格式化方法
string[] fmtLst = new string[] { "yy", "yyyy", "MM", "dd", "ddd", "dddd", "hh", "HH", "mm", "ss", "ff", "fff", "ffff"};
foreach (var item in fmtLst)
{
    var now = DateTime.Now;
    Console.WriteLine($"{item}|{now.ToString(item)}");
}
格式 输出 说明



yy 23 年份后两位
yyyy 2023 4位年份
MM 03 两位月份
dd 03 日数
ddd 周五
dddd 星期五
hh 03 12小时制的小时数
HH 15 24小时制的小时数
mm 45 分钟数
ss 51 秒数
ff 15 毫秒数前2位
fff 156 毫秒数前3位
ffff 1567 毫秒数前4位

上面这些针对单个年、月、日、时、分、秒的关键字可以通过插入其他符号的方式自由组合,例如

var dt1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffff");
var dt2 = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
var dt3 = DateTime.Now.ToString("yyyy年MM月dd日 dddd");
Console.WriteLine(dt1);
Console.WriteLine(dt2);
Console.WriteLine(dt3);

命令行输出为

2023-03-03 15:50:20.8885
2023/03/03 15:50:20
2023年03月03日 星期五

关闭

用微信“扫一扫”