我有一个DateTime,我想格式化为" 2009-09-01T00:00:00.000Z",但下面的代码给我" 2009-09-01T00:00:00.000+01:00"(两行):
new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz")
new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz")
Run Code Online (Sandbox Code Playgroud)
任何想法如何使其工作?
我需要将字符串"Fri Sep 11 00:00:00 GMT+04:00 2020"转换为DateTime对象11.09.2011.
我用的时候
DateTime result;
DateTime.TryParseExact(MyString, "ddd MMM dd HH:mm:ss 'GMT'zzz yyyy",
CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
Run Code Online (Sandbox Code Playgroud)
result等于{9/10/2020 11:00:00 PM}.
我如何修改代码,以便日期组件11.09.2011并没有 10.09.2011(我只需要日期和不关心的时间)?
我正在尝试从HTTP响应中的Last-Modified标头解析日期.
日期显示如下:
最后修改时间:2006年7月1日星期六01:50:55 UTC
我试过DateTime.Parse,DateTime.ParseExact没有成功.
什么是最后的UTC事情以及为什么C#不想解析它?
更新:
我有一个UTC时间字符串(我从数据库中获取,因此我无法更改格式)DateTime.UtcNow.ToString("s").我想展示一些面向用户的内容,如"上午10点".我在哪里(在英格兰),时钟最近出现了,下面的方法是一小时出来:
var timenowstring = DateTime.UtcNow.ToString("s");
var dateutc = DateTime.Parse(timenowstring).ToShortTimeString();
var datelocal = DateTime.Parse(timenowstring).ToLocalTime().ToShortTimeString();
Console.WriteLine("Utc time string: " + dateutc);
Console.WriteLine("Local time string: " + datelocal);
Run Code Online (Sandbox Code Playgroud)
两者都打印"上午9:02"实际上是10:02 AM.
这是在http://csharppad.com/上重新发布的屏幕截图:
我做错了什么以及获取DateTime对象的最简单方法是.ToShortTimeString()什么?它会在我调用时返回正确的时间?
转换还考虑了适用于当前DateTime对象所表示的时间的夏令时规则.
在字符串变量中,我有以下格式的日期: Tue Jul 23 00:00:00 UTC+0530 2013
我试图将其转换为日期时间变量,并得到无效的日期时间错误.
DateTime dt = DateTime.Parse(t);
Run Code Online (Sandbox Code Playgroud)
我怎样才能转换成DateTime格式?