【问题标题】:Need to convert string to DateTime format in C# [duplicate]需要在 C# 中将字符串转换为 DateTime 格式 [重复]
【发布时间】:2016-05-02 12:28:11
【问题描述】:

我有一个字符串存储在表"13/12/1985 12:00:00 a.m." 中,当我尝试将其转换为日期时间时,我收到一个异常消息“字符串不是有效的日期时间格式”。这是因为string(13) 的第一部分是月份。有什么方法可以将上述字符串转换为 (mm/dd/yyyy hh:mm:ss am/pm) 格式?实际上保存在表格中的字符串的格式是“dd/mm/yyyy”。我想在日期时间转换为“mm/dd/yyyy”

【问题讨论】:

  • 另一个问题:你为什么在你的表中存储DateTimestring?如果您按原样存储它,您将避免此异常和其他问题。
  • @DHN,该链接适用于python,但此问题适用于C#。我很肯定 C# 有答案
  • @TimSchmelter 是一个现有的表。该表有单独的列来存储数据类型。说 DateTime 为“D”。如果是 D 那么我需要转换为日期时间
  • @user3403111:为什么将类型存储在单独的列中?不要将所有内容存储为 string/nvarchar 并将其转换为客户端。而是首先使用正确的类型。
  • 那么你已经在数据库引擎中构建了数据库引擎?

标签: c# datetime string-to-datetime


【解决方案1】:

试试这个,它将dd/MM/yyyy hh:mm:ss tt格式日期时间转换为MM/dd/yyyy hh:mm:ss tt格式

DateTime dt = DateTime.ParseExact("26/04/2016 12:00:00 PM", "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
string newdate = dt.ToString("MM/dd/yyyy hh:mm:ss tt")

【讨论】:

  • 我想要mm/dd/yyyy格式
  • 您是否尝试过使用该格式?请注意,mm 表示分钟,MM 表示月。
  • @user3403111 in c# MM 是月份,mm 是分钟,所以我猜你想要月份吧?
  • @LasseV.Karlsen 是的,那是一个月。对不起
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多