DateTime.Now显示时间两次

时间:2015-06-03 15:33:15

标签: c# asp.net .net datetime

我的机器有一个奇怪的问题。当我使用DateTime时,它会显示两次。

有谁知道为什么日期会这样?

DateTime.Now returns date as 05/04/2015 12:00 AM 12:00:00 AM

注意:上午12:00 上午12:00:00

请帮帮我。我想将数据作为DateTime返回。我无法格式化它(格式即使第二次删除)。

我在互联网上搜索得足够多,它总是显示时间跨度,时差。它没有显示我的确切问题。

以下是您获得的屏幕截图,并告诉我这是怎么回事?  enter image description here

2 个答案:

答案 0 :(得分:5)

将它归还给什么? DateTime.Now会返回DateTime,而不是格式化的string。如果您将其视为文本,则会将其转换为string。那么问题就是发生在哪里。

答案 1 :(得分:1)

我可以通过两种方式来考虑您可能得到的结果:

  1. 当前文化可能已被修改为发出该格式。

    例如:

    var customCulture = (CultureInfo) new CultureInfo("en-US").Clone();
    customCulture.DateTimeFormat.LongTimePattern = "hh:mm tt h:mm:ss tt";
    System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
    
    var s = DateTime.Now.ToString();
    Console.WriteLine(s);  // "6/3/2015 10:17 AM 10:17:59 AM"
    
  2. Windows控制面板中的日期和时间设置可能已使用自定义设置进行了更改。这可以在以下网址找到:"Change date,time, or, number formats" - "Formats" tab - "Additional settings" - "Time"

    例如,如果您更改"长时间"格式如下:

    control panel

    然后,您将获得与默认文化设置相同的格式。

  3. 由于您在Visual Studio调试器中看到了结果,因此更有可能使用#2。

相关问题