我有一个字符串"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时间戳),则无法工作
答案 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();