Мне передается строка "1/20/2015 8:01:25 PM"
, и мне нужно удалить :25
в секундной части строки, делая ее "1/20/2015 8:01 PM"
. Это в конечном итоге будет использоваться во многих строках даты, поэтому ему нужно будет работать для строки типа "11/11/2011 11:11:11 PM"
и конвертировать ее в "11/11/2011 11:11 PM"
. Все это делается на C#, и любая помощь с этим будет принята с благодарностью.Изменение строкового формата
ответ
Разберите строку в DateTime
, затем .ToString()
введите дату, чтобы получить желаемый формат.
var myString = "1/20/2015 8:01:25 PM";
var asDate = DateTime.Parse(myString);
var resultingString = asDate.ToString("M/dd/yyyy h:mm tt");
Обратитесь к this MSDN статье для строк формата даты
Это делает предположения о текущей культуре. В зависимости от среды, в которой этот код может работать, это может не быть безопасным предположением. –
Вы можете использовать DateTime.ParseExact и DateTime.ToString с custom format strings, чтобы сделать это.
Преобразование объекта строка дата для DateTime
, а затем применить пользовательский формат, как:
var dateTimeObj = DateTime.ParseExact("1/20/2015 8:01:25 PM", "M/d/yyyy h:m:s tt", CultureInfo.InvariantCulture);
var output = dateTimeObj.ToString("M/d/yyyy hh:mm tt", CultureInfo.InvariantCulture);
Обратите внимание на сингл d
, M
, h
, m
и s
в разборе, так что можно было бы использовать для одного, как а также двузначные значения.
Уловка этому знанию, что ваша строка ввода будет всегда будет отформатирована таким же образом.
Если это так, вы можете просто сделать это:
string s = "1/20/2015 8:01:25 PM";
string s2 = s.Substring(0, s.Length - 6) + s.Substring(s.Length - 3);
Более надежный подход может заключаться в использовании DateTime.Parse()
преобразовать в DateTime
, а затем отформатировать его же вы хотите. Или еще лучше, сохраните значение в переменной DateTime
, пока вам не понадобится отформатировать его так, как вы хотите.
спасибо за кодирование моей идеи ... –
@ThomasKrojer Обратите внимание, что этот ответ сохранит «AM», если это необходимо, вместо того, чтобы ослепить добавление «PM». –
Да ... Я видел это уже и все еще живу в 24-часовом регионе –
- 1. Метод строкового формата. Словари
- 2. Преобразование строкового формата в
- 3. Проверка параметров и строкового формата
- 4. Изменение позиции строкового значения
- 5. Изменение текущего строкового значения
- 6. JavaScript Изменение строкового Чара
- 7. разбор строки в отношении строкового формата | как
- 8. Формат C# dateTime для локального строкового формата
- 9. программно указать десятичную точность строкового формата float
- 10. Сериализовать показ в виде строкового формата
- 11. Преобразование строкового файла в файл формата json
- 12. Преобразование строкового формата Дата для даты Объект
- 13. Сбой искажений из-за строкового формата
- 14. Странное поведение строкового формата в python 2.7
- 15. Спецификация строкового формата с переменной float
- 16. Номер формата Exception Для строкового типа
- 17. Тестовая строка Python в списке строкового формата
- 18. Идентификация строкового формата для строки цвета
- 19. Как получить дату из строкового формата
- 20. Изменение строкового значения другого класса
- 21. Изменение формата flexbox для отображения формата блока
- 22. Изменение формата виджета Программно
- 23. Изменение формата даты
- 24. Изменение формата строки даты
- 25. Изменение формата даты «»
- 26. Изменение формата денег Postgresql
- 27. Изменение формата даты
- 28. Изменение формата дата строки
- 29. Изменение формата слайдов
- 30. Изменение формата XML
https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx –
Почему бы не преобразовать эту строку в DateTime, нуля секунд и конвертировать назад? –
Вы гарантированно получаете один и тот же формат даты и времени каждый раз? –