从具有日期和时间的字符串中删除时间戳-C#

时间:2018-08-29 01:23:03

标签: c# datetime

我有一个字符串"1/15/2017 12:00:00 AM"。我想从中删除时间戳。

我尝试过:

string str = "1/15/2017 12:00:00 AM"
str  = DateTime.ParseExact(str, "mm/dd/yyyy hh:mm:ss tt", 
CultureInfo.InvariantCulture).ToString();

但这会引发错误,表明它不是正确的日期格式。

如果字符串为"11/15/2017 12:00:00 AM",它确实可以工作-但是,如果字符串看起来像"1/15/2017 12:00:00 AM"(m / d / yyy时间戳),则无法工作

3 个答案:

答案 0 :(得分:1)

如果字符串始终采用您显示的格式(日期-空格-时间),则可以执行以下操作:

String dateTime = "1/15/2017 12:00:00 AM";
int index = dateTime.indexOf(" "); // gets index of first occurrence of blank space, which in this case separates the date from the time.
dateTime = dateTime.subString(0, index);

答案 1 :(得分:0)

为什么不删除AM

赞:

string str = "1/15/2017 12:00:00 AM";
str = str.Replace("AM","");
var time = Convert.ToDateTime(str);// 2017/1/15 12:00:00

答案 2 :(得分:0)

如果字符串采用正确的日期格式,则可以尝试使用DateTime进行转换,然后使用DateTime仅从ToShortDateString()获取日期。

  string str = "1/15/2017 12:00:00 AM";
  DateTime dateStr = Convert.ToDateTime(str);
  string DateOnly = dateStr.ToShortDateString();