удалить метку времени из строки с датой и временем - c # - PullRequest
0 голосов
/ 29 августа 2018

У меня есть строка "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" (метка времени м / д / гггг)

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Почему бы не удалить 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
0 голосов
/ 30 августа 2018

Если строка в правильном формате даты, вы можете попытаться преобразовать в DateTime, а затем получить только дату из DateTime, используя ToShortDateString().

  string str = "1/15/2017 12:00:00 AM";
  DateTime dateStr = Convert.ToDateTime(str);
  string DateOnly = dateStr.ToShortDateString();
0 голосов
/ 29 августа 2018

Если строка всегда будет в указанном вами формате (дата - пробел - время), вы можете просто сделать:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...