【问题标题】:C#, DateTime conversionC#,日期时间转换
【发布时间】:2019-02-25 13:38:51
【问题描述】:

需要帮助将日期时间对象转换为特定格式。这可能是重复的问题,但我浏览了 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);

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

【问题讨论】:

标签: c# datetime datetime-format


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多