C #, преобразование даты и времени - PullRequest
0 голосов
/ 25 февраля 2019

Нужна помощь для преобразования объекта даты и времени в определенный формат.Это может быть повторяющийся вопрос, но я просмотрел много статей, вопросов и ответов, представленных в Stackoverflow, но не получил ответа.Текущий формат даты: {dd / mm / yyyy 8:12:56 AM}, который является форматом даты и времени по умолчанию.Я хочу преобразовать в формат {мм / дд / гггг 8:12:56}.

DateTime searchDateTime = Datetime.Now.AddYears(-1));

string test = searchDateTime.ToString("dd-MMM-yyyy");

Это дает мне формат, который я дал в ToString.

DateTime date = Convert.ToDateTime(test);

Нокогда я пытаюсь преобразовать строку в формат даты и времени, возвращается дата в формате дд / мм / гггг.

1 Ответ

0 голосов
/ 25 февраля 2019

Попробуйте использовать DateTime.ParseExact, если хотите разобрать строку с известным форматом и ToString, если хотите представить DateTime в желаемом формате :

using System.Globalization;

...

DateTime searchDateTime = new DateTime(2019, 2, 25, 16, 15, 45);

// Escape delimiters with apostrophes '..' if you want to preserve them
string test = searchDateTime.ToString(
  "dd'-'MMM'-'yyyy' 'h':'mm':'ss' 'tt", 
   CultureInfo.InvariantCulture);

// Parse string with known format into DateTime 
DateTime date = DateTime.ParseExact(
   test, 
  "dd'-'MMM'-'yyyy' 'h':'mm':'ss' 'tt", 
   CultureInfo.InvariantCulture); 

// Presenting DateTime as a String with the desired format 
string result = date.ToString(
  "MM'/'dd'/'yyyy' 'h':'mm':'ss' 'tt", 
   CultureInfo.InvariantCulture);

Console.WriteLine($"Initial: {test}");
Console.Write($"Final:   {result}");

Результат:

Initial: 25-Feb-2019 4:15:45 PM
Final:   02/25/2019 4:15:45 PM
...