我以格式获取dateTime值2014-03-11T14:10:46+11:00.我需要将其更改为格式20140311141046+11:00.
我现在使用的方法是:
private string changeDateFormat()
{
DateTime dt = Convert.ToDateTime("2014-03-11T14:10:46+11:00");
return dt.ToString("yyyyMMddHHmmss");
}
Run Code Online (Sandbox Code Playgroud)
它似乎工作得很好,但有一个问题.输出是20140311141046+11:00,而不是显示 输出20140311084046.
我想在转换为字符串时我也需要传递时区.但我对如何做到这一点一无所知.
PS:这+11:00是动态的,可以在输入中改变.请建议一个通用的解决方案/方法.
因为你解析它DateTime丢失了偏移部分.
我会解析它DateTimeOffset而不是DateTime使用K格式说明符,格式如;
var str = "2014-03-11T14:10:46+11:00";
var dto = DateTimeOffset.Parse(str);
return dto.ToString("yyyyMMddHHmmssK");
Run Code Online (Sandbox Code Playgroud)
回报
20140311141046+11:00
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |