使用英语阅读

通过


DateTime.Now 属性

定义

获取一个 DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为本地时间。

public static DateTime Now { get; }

属性值

其值为当前日期和时间的对象。

示例

以下示例使用 NowUtcNow 属性检索当前本地日期和时间,以及当前通用协调 (UTC) 日期和时间。 然后,它使用多个区域性的格式设置约定来显示字符串及其属性的值 Kind

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime localDate = DateTime.Now;
      DateTime utcDate = DateTime.UtcNow;
      String[] cultureNames = { "en-US", "en-GB", "fr-FR",
                                "de-DE", "ru-RU" } ;

      foreach (var cultureName in cultureNames) {
         var culture = new CultureInfo(cultureName);
         Console.WriteLine("{0}:", culture.NativeName);
         Console.WriteLine("   Local date and time: {0}, {1:G}",
                           localDate.ToString(culture), localDate.Kind);
         Console.WriteLine("   UTC date and time: {0}, {1:G}\n",
                           utcDate.ToString(culture), utcDate.Kind);
      }
   }
}
// The example displays the following output:
//       English (United States):
//          Local date and time: 6/19/2015 10:35:50 AM, Local
//          UTC date and time: 6/19/2015 5:35:50 PM, Utc
//
//       English (United Kingdom):
//          Local date and time: 19/06/2015 10:35:50, Local
//          UTC date and time: 19/06/2015 17:35:50, Utc
//
//       français (France):
//          Local date and time: 19/06/2015 10:35:50, Local
//          UTC date and time: 19/06/2015 17:35:50, Utc
//
//       Deutsch (Deutschland):
//          Local date and time: 19.06.2015 10:35:50, Local
//          UTC date and time: 19.06.2015 17:35:50, Utc
//
//       русский (Россия):
//          Local date and time: 19.06.2015 10:35:50, Local
//          UTC date and time: 19.06.2015 17:35:50, Utc

注解

属性 Now 返回一个 DateTime 值,该值表示本地计算机上的当前日期和时间。 请注意,值(表示自 0001 年 1 月 1 日午夜以来经过的计时周期数)与该值DateTime的字符串表示形式(以特定于区域性的格式表示日期和时间值)之间存在DateTime差异。 有关设置日期和时间值格式的信息,请参阅 ToString 方法。 以下示例以许多特定于区域性的格式显示短日期和时间字符串。

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime localDate = DateTime.Now;
      String[] cultureNames = { "en-US", "en-GB", "fr-FR",
                                "de-DE", "ru-RU" };

      foreach (var cultureName in cultureNames) {
         var culture = new CultureInfo(cultureName);
         Console.WriteLine("{0}: {1}", cultureName,
                           localDate.ToString(culture));
      }
   }
}
// The example displays the following output:
//       en-US: 6/19/2015 10:03:06 AM
//       en-GB: 19/06/2015 10:03:06
//       fr-FR: 19/06/2015 10:03:06
//       de-DE: 19.06.2015 10:03:06
//       ru-RU: 19.06.2015 10:03:06

此属性的解析取决于系统计时器,后者取决于基础操作系统。 它往往介于 0.5 到 15 毫秒之间。 因此,在短时间间隔内(例如在循环中)对 属性的重复调用 Now 可能会返回相同的值。

属性 Now 通常用于度量性能。 但是,由于分辨率较低,它不适合用作基准测试工具。 更好的替代方法是使用 Stopwatch 类。

从 .NET Framework 2.0 版开始,返回值为 ,DateTimeKind 属性返回 DateTimeKind.Local

备注

还可以使用 DateTimeOffset.Now 属性检索当前本地日期和时间。 它允许将本地时间明确表示为单个时间点,从而使该时间值在计算机之间可移植。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

另请参阅