加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Convert.ToDateTime()的意外行为

发布时间:2020-12-16 02:02:14 所属栏目:百科 来源:网络整理
导读:请考虑以下代码段: DateTime dt = Convert.ToDateTime("06/16/2014 -0:10");Console.Write (dt.ToString());Console.ReadKey(); 输出是6/15/2014 8:10:00 PM. 这是在Web应用程序测试期间出现的,其中允许手动输入一天中的时间(日期,HH和MM在单独的ASP.Net文
请考虑以下代码段:

DateTime dt = Convert.ToDateTime("06/16/2014 -0:10");
Console.Write (dt.ToString());
Console.ReadKey();

输出是6/15/2014 8:10:00 PM.

这是在Web应用程序测试期间出现的,其中允许手动输入一天中的时间(日期,HH和MM在单独的ASP.Net文本框控件中),并且字符最初不限于仅数字(ASP .net验证器控件)接受“-0”为0..23范围内的整数).

有人可以解释该字符串如何转换为此日期/时间的逻辑吗?我想要抛出异常或“6/16/2014 12:10:00 AM”,考虑到“-0”与“0”相同(“06/16/2014 0:10”转换为“6/16” / 2014 12:10:00 AM“正如人们所料.”

解决方法

According to MSDN我认为你设定时区-10分钟.

dateString = "2009-05-01T07:54:59.9843750-04:00";
Convert.ToDateTime(dateString);
//    '2009-05-01T07:54:59.9843750-04:00' converts to 5/1/2009 4:54:59 AM Local time.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读