【问题标题】:How convert the string of "06/22/2019 00:00:00" to a valid DateTime type in format of 2019/06/22 without the part of hour and minute and second [duplicate]如何将“06/22/2019 00:00:00”的字符串转换为格式为 2019/06/22 的有效 DateTime 类型,而不包含小时、分钟和秒的部分 [重复]
【发布时间】:2019-11-09 07:46:30
【问题描述】:

我正在做一个 asp.net mvc 项目,我需要将字符串“06/22/2019 00:00:00”转换为有效的 DateTime 类型,格式为 2019/06/22,不包括小时和分秒

【问题讨论】:

  • 这类问题经常出现。没有时间部分就没有 DateTime 类型的变量。在这里重要的是如何格式化变量以进行显示。因此,如果您只想显示日期,那么 date.ToString("yyyy/MM/dd") 现在您有一个字符串要显示,该字符串仅作为日期显示给人类

标签: c# asp.net-mvc


【解决方案1】:

你可以使用DateTime.ParseExact,这里是一个例子:

http://net-informations.com/q/faq/stringdate.html

最后应该是这样的:

string s = "06/22/2019 00:00:00";
DateTime myDate = DateTime.ParseExact(s, "MM/dd/yyyy HH:mm:ss",System.Globalization.CultureInfo.InvariantCulture);
Debug.WriteLine(myDate.ToString("MM/dd/yyyy"));

【讨论】:

  • 谢谢。这段代码解决了我的问题
【解决方案2】:

你可以这样做:

var dateString = "06/22/2019 00:00:00";
var datePart = dateString.Split(' ')[0];
var date = DateTime.Parse(datePart);

虽然请记住 DateTime 仍然有时间的默认值(上午 12:00),但如果您只希望对象中的 Date 部分,请使用 date.Date 它将返回一个具有默认值的实例时间(前面提到过)。

【讨论】:

  • 你好。谢谢你。 (var datePart = dateString.Split(' ')[0]) 的代码将返回“06/22/2019”,并且在 (var date = DateTime.Parse(datePart);) 的代码中将返回错误(字符串未被识别为有效的日期时间)
  • 完全不是这样,这里你可以自己看看dotnetfiddle.net/7Fc2C0
【解决方案3】:

DateTime 包含默认的Time,即使您访问DateTime.Date。您可以通过将日期转换为字符串来实现日期格式。

类似的,

    DateTime myDate = DateTime.ParseExact("06/22/2019 00:00:00", "MM/dd/yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
    string dateInFormat = $"{myDate.Year}/{myDate.Month}/{myDate.Day}";

POC:.net Fiddle

【讨论】:

    【解决方案4】:

    您将字符串转换为 DateTime 对象,然后只显示日期部分,您可以像这样使用 ToShortDateString:

    var myDateTime = DateTime.Parse( "06/22/2019 00:00:00") //presumably use a variable here instead.
    var date = myDateTime.ToShortDateString();
    

    您希望如何显示它可以使用 CultureInfo 部分完成,如下所示:https://docs.microsoft.com/en-us/dotnet/api/system.datetime.toshortdatestring?view=netframework-4.8

    【讨论】:

      猜你喜欢
      • 2017-11-15
      • 2021-12-21
      • 2016-03-18
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      • 2019-10-31
      • 1970-01-01
      • 2012-06-21
      相关资源
      最近更新 更多