需要帮助将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格式日期。
答案 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