C#,DateTime转换

时间:2019-02-25 13:38:51

标签: c# datetime datetime-format

需要帮助将datetime对象转换为特定格式。它可能是重复的问题,但是我浏览了许多文章以及Stackoverflow中提供的问题和答案,但没有得到答案。 当前我的日期格式为{dd / mm / yyyy 8:12:56 AM},这是默认的日期时间格式。我想转换为{mm / dd / yyyy 8:12:56 AM}格式。

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

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

它给了我在ToString中给出的格式。

DateTime date = Convert.ToDateTime(test);

但是当我尝试将字符串转换为datetime格式时,其返回的dd / mm / yyyy格式日期。

1 个答案:

答案 0 :(得分:2)

如果您想使用已知格式解析字符串,请尝试使用DateTime.ParseExact,而当您想将ToString表示为所需格式时,请使用DateTime < / em>:

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