【问题标题】:Remove time from my string c#从我的字符串 c# 中删除时间
【发布时间】:2016-10-13 11:00:19
【问题描述】:

我正在 asp.net 中创建一个 Web 应用程序,在该应用程序中,我通过字符串从我的数据库中获取时间,并在我的数据库中打印字符串日期格式为 2016-10-15 00:00:00.000,当我打印字符串时,日期格式显示为10-Oct-16 12:00:00 AM 但我只想打印 10-Oct-16 我试过了

string reformattedDate = DateTime.ParseExact(txtdate, "dd-MM-yyyy", null)
                                 .ToString("MMM d, yyyy"); 

这不过是我展示的:

字符串未被识别为有效的日期时间

谁能给我一个更好的建议?

【问题讨论】:

  • 你为什么要获取你的日期作为字符串?使用实际正确的数据类型有什么问题?
  • txtdate是什么类型?
  • 在我的表中日期是字符串
  • @IbrahimShaikh 那太愚蠢了。如果是datetime,则将其存储并检索为datetime
  • 所以换桌子?将日期存储在字符串中的数据库中是个坏主意。这最终会给你带来无穷无尽的麻烦

标签: c# asp.net date datetime


【解决方案1】:

你的日期是yyyy-MM-dd hh:mm:ss.fff,你输入的格式只有dd-MM-yyyy

这是导致错误的原因。将其更改为:

string reformattedDate = DateTime.ParseExact("2016-10-15 00:00:00.000", "yyyy-MM-dd hh:mm:ss.fff", CultureInfo.InvariantCulture)
                                 .ToShortDateString();

编辑:您也可以使用ToString("dd-MMM-yy") 而不是ToShortDateString() 来获得所需的输出。

例如:

string reformattedDate = DateTime.ParseExact("2016-10-15 00:00:00.000", "yyyy-MM-dd hh:mm:ss.fff", CultureInfo.InvariantCulture)
                                 .ToString("dd-MMM-yy"); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2022-01-09
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多