0

我想将 c# 中的日期(如 2012-06-28T14:30:00-04:00)转换为“yyyyMMddTHHmm”格式,两个日期都是字符串。

string currentDate="2012-06-28T14:30:00-04:00";
string requiredDate="yyyyMMddTHHmm"

当我尝试使用 Convert.ToDateTime() 转换此日期时,C# 返回“20120629T0000-04:00”,但这不是正确的日期。

4

3 回答 3

2

查看标准日期和时间格式字符串(MSDN)。我想仅在您的实例上使用该ToString()方法可能就足够了。DateTime

可能您可能需要在转换方法的适当重载中指定(此处CultureInfo为MSDN )。服务器和客户端应用程序可能处于不同的文化和/或时区。

于 2012-06-25T15:41:27.320 回答
1

DateTime.Parse("2012-06-28T14:30:00-04:00").ToString("yyyyMMddTHHmm")产生您可能想要的价值。

请注意,将值从绝对 ISO8601 格式更改为本地 ISO8601 格式时应谨慎操作,因为它会更改值的含义并且通常会更改值本身。

请确保您真正需要以下哪些选项(并相应地调整代码):

  • 只需从值中删除时间。如果值来自不同的时区,将产生半随机时间。
  • 始终将值移动到给定的时区并使其本地化到该时区。
  • 始终将值移动到当前时区并使其本地到当前时区

或者,也许您正在寻找其他东西。

于 2012-06-25T16:10:54.763 回答
0

我不确定这是您正在尝试的格式

string currentDate="2012-06-28T14:30:00-04:00";
DateTime.Parse(currentDate).ToString("o")

这会给你2012-06-29T00:00:00.0000000+05:30

于 2012-06-25T15:45:58.100 回答