c#解析长日期

  • 本文关键字:日期 c# datetime
  • 更新时间 :
  • 英文 :


我有下面的文本,我试图解析成一个日期,但我似乎不能得到正确的时区。

想法?

2015年5月29日星期五00:00:00 GMT-0700(太平洋夏令时)

(我不能改变日期结构)

试试这个:

 string str = "Fri May 29 2015 00:00:00 GMT-0700 (Pacific Daylight Time)";
 DateTime dt = new DateTime();
 bool b = DateTime.TryParseExact(str.Substring(0,33), "ddd MMMM dd yyyy hh:mm:ss 'GMT'zzz", null, DateTimeStyles.None, out dt);

这使得假设时区的描述是无关的,因为给出了与GMT的偏移量。因此,只解析原始日期字符串的子字符串到时区偏移部分应该就足够了。

演示

我有时会用一个捷径。

首先根据空格分割字符串,如:

 var dateString = 'Fri May 29 2015 00:00:00 GMT-0700 (Pacific Daylight Time)';
 var dateArray = stdateString.Split(' ');
第二,我们需要时间。,
var timeString = dateArray[4];
var timeArray = timeString.Split(':');

第三个时区

var timezoneString = dateArray[5];
var timezoneSignPart = timezoneString.Substring(3,1)
var timezoneHourPart = timezoneString.Substring(4,2)
var timezoneMinPart = timezoneString.Substring(6,2)

之后你可以用它来构造你想要的日期

当我没有太多的时间来调查即将到来的日期字符串的问题时,这是我非常私人的方式。

相关内容

  • 没有找到相关文章