C# 中的 DateTime

2025年3月17日 | 阅读 8 分钟

当我们需要在 C# 中处理日期和时间时,我们使用了 DateTime。

我们可以通过 DateTime 的属性和方法以不同的格式格式化日期和时间。

DateTime 的值介于公元 12:00:00 午夜、1 年 1 月 1 日和公元 9999 年 12 月 31 日下午 11:59:59 之间。

这里我们将解释如何在 C# 中创建 DateTime。

我们有不同的方法来创建 DateTime 对象。DateTime 对象具有时间、文化、日期、本地化、毫秒。

这里我们有一个代码,它展示了 DateTime 结构用于创建 DateTime 对象的各种构造函数用法。

C# 中 DateTime 的属性

DateTime 具有 Date 和 Time 属性。从 DateTime,我们可以找到日期和时间。DateTime 还包含其他属性,例如 Hour、Minute、Second、Millisecond、Year、Month 和 Day。

DateTime 的其他属性是

  1. 我们可以使用 DayOfWeek 属性获取一周中的星期几的名称。
  2. 要获取一年中的第几天,我们将使用 DayOfYear 属性。
  3. 要获取 DateTime 中的时间,我们使用 TimeOfDay 属性。
  4. Today 属性将返回 DateTime 对象,该对象具有今天的日期。时间值为 12:00:00
  5. Now 属性将返回 DateTime 对象,该对象具有当前的日期和时间。
  6. DateTime 的 Utc 属性将返回协调世界时 (UTC)。
  7. 一个 tick 代表 DateTime 中的一百纳秒。DateTime 的 Ticks 属性返回 DateTime 中的 tick 数。
  8. Kind 属性返回值,其中实例表示的时间基于本地时间、协调世界时 (UTC)。它还显示未指定默认值。

这里我们举一个在 C# 代码中使用 DateTime 属性的例子。

示例

输出

DateTime in C#

C# 中 DateTime 的加减运算

DateTime 结构提供了向 DateTime 对象添加和减去日期和时间的方法。我们可以向 DateTime 结构添加和减去日期。对于 DateTime 中的加减,我们使用 TimeSpan 结构。

对于加减,我们可以使用 DateTime 对象的 Add 和 Subtract 方法。首先,我们使用日期和时间的值创建 TimeSpan,然后在其中使用 Add 和 Subtract 方法。

这里我们创建了一个代码,它将从今天开始加上 3 天并减去 30 天,并在控制台显示日期。

DateTime 结构包含添加年、日、小时、分钟、秒的方法。

要将不同的组件添加到 DateTime 对象,使用 Add 方法.

DateTime 不包含 subtract 方法。要减去 DateTime 的组件,我们将只使用 subtract 方法。例如:如果我们想从 DateTime 中减去 12 天,我们可以创建另一个 DateTime 或 TimeSpan 对象(包含 12 天)。现在我们将这个对象从 DateTime 中减去。作为替代,我们还可以使用减号运算符从 DateTime 中减去 DateTime 或 TimeSpan。

现在我们将创建一个代码,通过该代码我们可以创建 DateTime 对象并减去另一个 DateTime 和 TimeSpan 对象。在代码中,我们将只显示从 DateTime 中减去小时、天或其他组件。

查找月份中的天数

要查找月份中的天数,我们使用静态的 DaysInMonth 方法。此搜索方法 [] 接受 1 到 12 的数字作为参数。

这里我们将编写一个代码,通过该代码我们将找出特定月份中的天数。

这里我们将找出 2020 年 2 月的天数。输出将是 28 天。

使用相同的技术,我们可以找出一年中的总天数。为此,我们将使用 DaysInYear 方法。

比较 C# 中的两个 DateTime

comparer 静态方法用于比较两个 datetime 对象。如果两个 DateTime 对象相同,则结果为 0。如果第一个 DateTime 较早,则结果为 0,否则第一个 DateTime 较晚。

现在我们将在 C# 中展示两个 datetime 对象的比较。

输出

DateTime in C#

CompareTo 方法

CompareTo 方法用于比较两个日期。我们将 DateTime 或对象赋值给此方法。

要比较两个 DateTime 对象,我们使用 CompareTo 方法。下面我们有一个 C# 代码来比较 DateTime 对象。

输出

DateTime in C#

C# 中 DateTime 的格式化

在 C# 中,我们可以将 DateTime 格式化为我们想要的任何类型的字符串格式。

对于 DateTime 的格式化,我们使用 GetDateTimeFormats 方法,该方法返回当前计算机区域设置的所有可能的 DateTime 格式。

这里我们有一个 C# 代码,它返回所有可能的标准格式的字符串数组。

输出

DateTime in C#
DateTime in C#

我们可以重载 GetDateTimeFormats 方法,该方法接受格式说明符作为参数并将 DateTime 转换为该格式。要获得所需的格式,我们需要了解 DateTime 说明符的格式。

我们将用表格中的模式通过代码来展示。

代码图案
"d"短日期
"D"长日期
"f"完整日期时间。短时间。
"F"完整日期时间。长时间。
"g"通用日期时间。长时间。
"G"通用日期时间。长时间。
"M","m."月/日
"O","o"往返日期/时间。
"R","r"RFC1123
"s"可排序日期时间。
"t"短时间
"T"长时间
"u"通用可排序日期时间。
"U"通用完整日期时间。
"Y","y"年,月

我们将在下面的 C# 代码中指定 DateTime 的格式。

输出

DateTime in C#
DateTime in C#

我们还可以通过将格式说明符传递给 DateTime 的 ToString() 方法来格式化 DateTime。现在我们将为使用 ToString() 方法格式化 DateTime 编写 C# 代码。

现在我们将为 ToString() 方法中的 DateTime 格式说明符编写 C# 代码。

DateTime in C#

获取闰年和夏令时

通过 C# 代码,我们将获取闰年和夏令时。

输出

DateTime in C#

字符串转换为 DateTime

要将字符串转换为 DateTime 对象,我们使用 Parse 方法。在 Parse 方法中,传递的字符串必须具有正确的 DateTime 格式。对于 DateTime 到 String 的转换,使用 ToString() 方法。 

输出

DateTime in C#

C# 中的 DateTime 转换

DateTime 结构充满了自解释的转换,可以将 DateTime 转换为特定类型。这些方法是 ToFileTime、ToLocalTime、ToLongDateString、ToBinary、ToLongTimeString、ToOADate、ToShortDateString、ToShortTimeString、ToString 和 ToUniversalTime。

这里我们将举一个 C# 示例来将 DateTime 转换为特定类型。

输出

DateTime in C#