在 C# 中格式化日期时间
Fil Zjazel Romaeus Villegas
2023年1月30日
2022年4月20日
本教程将演示如何使用 ToString()
或 String.Format
函数从 DateTime
变量创建格式化字符串。
日期格式说明符是 DateTime
变量中不同组件的字符串表示形式。你可以在 ToString()
和 String.Format
函数中使用它们来指定你自己的自定义 DateTime
格式。
以下是一些常用的日期格式说明符。
样品日期:08/09/2021 下午 3:25:10
自定义日期时间格式说明符:
格式说明符 | 输出 | 日期时间部分 |
---|---|---|
d |
8 |
天 |
dd |
08 |
天 |
M |
9 |
月 |
MM |
09 |
月 |
MMM |
Sep |
月 |
MMMM |
September |
月 |
yy |
21 |
年 |
yyyy |
2021 |
年 |
hh |
03 |
小时 |
HH |
15 |
小时 |
mm |
25 |
分钟 |
ss |
10 |
秒 |
tt |
PM |
时间 |
标准日期时间格式说明符:
说明符 | DateTimeFormatInfo 属性 | 模式值 |
---|---|---|
t |
ShortTimePattern |
h:mm tt |
d |
ShortDatePattern |
M/d/yyyy |
F |
FullDateTimePattern |
dddd, MMMM dd, yyyy h:mm:ss tt |
M |
MonthDayPattern |
MMMM dd |
有关 DateTime
格式说明符的更详细列表和更多示例,你可以查看以下 Microsoft 的官方文档:
在 C# 中使用 ToString()
格式化日期时间
将 DateTime
格式化为字符串就像将 ToString()
应用于 DateTime
并提供你想要使用的格式一样简单。
DateTime.Now.ToString("ddMMyyyy")
DateTime.Now.ToString("d")
例子:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//Initialize the datetime value
DateTime date = new DateTime(2021, 12, 18, 16, 5, 7, 123);
//Format the datetime value to a standard format (ShortDatePattern)
string stanadard_fmt_date = date.ToString("d");
//Format the datetime value to a custom format
string custom_fmt_date = date.ToString("ddMMyyyy");
//Print the datetime formatted in the different ways
Console.WriteLine("Plain DateTime: " + date.ToString());
Console.WriteLine("Standard DateTime Format: " + stanadard_fmt_date);
Console.WriteLine("Custom DateTime Format: " + custom_fmt_date);
}
}
}
输出:
Plain DateTime: 18/12/2021 4:05:07 pm
Standard DateTime Format: 18/12/2021
Custom DateTime Format: 18122021
在 C# 中使用 String.Format()
格式化 DateTime
使用 String.Format
方法将 DateTime
格式化为字符串是通过在参数中提供格式和 DateTime
值来完成的。打印格式时,格式必须用括号括起来并以"0:"
为前缀。
String.Format("{0:ddMMyyyy}", DateTime.Now)
String.Format("{0:d}", DateTime.Now)
例子:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//Initialize the datetime value
DateTime date = new DateTime(2021, 12, 18, 16, 5, 7, 123);
//Format the datetime value to a standard format (ShortDatePattern)
string stanadard_fmt_date = String.Format("{0:d}", date);
//Format the datetime value to a custom format
string custom_fmt_date = String.Format("{0:ddMMyyyy}", date);
//Print the datetime formatted in the different ways
Console.WriteLine("Plain DateTime: " + date.ToString());
Console.WriteLine("Standard DateTime Format: " + stanadard_fmt_date);
Console.WriteLine("Custom DateTime Format: " + custom_fmt_date);
}
}
}
输出:
Plain DateTime: 18/12/2021 4:05:07 pm
Standard DateTime Format: 18/12/2021
Custom DateTime Format: 18122021