我有GetDateTimeOffset(字符串纬度,经度字符串,字符串DATETIME)的Web服务,它确定时间偏移给出的纬度/龙和当地日期时间。
我们目前的客户端网页使用的DateTimePicker插件http://trentrichardson.com/examples/timepicker/ 。 我们使用默认的日期格式和时间格式的一部分,“H:MM:SS TT Z”,所以我们传递给服务器的字符串看起来像'01 /二千○十四分之二十二上午12时09分00秒-05:00' 。 但我想使我们的网络服务更通用的,所以它应该是宽容所传递的时间字符串的格式。
现在,我在使用BCL一个次优的方式解析的时间字符串(用户输入) http://goo.gl/s9Kypx 。
var tmpDateTime = new DateTimeOffset(DateTime.Now).DateTime;
if (!String.IsNullOrEmpty(dateTime))
{
try
{
// Note: Looks stupid? I need to throw away TimeZone Offset specified in dateTime string (if any).
// Funny thing is that calling DateTime.Parse(dateTime) would automatically modify DateTime for its value in a system timezone.
tmpDateTime = DateTimeOffset.Parse(dateTime).DateTime;
}
catch (Exception) { }
}
问题:
- 一)是对上述代码解析用户输入到日期时间在柔性“宽容”的方式的适当方法BCL?
- 二)什么是解析的时间字符串到LocalDateTime(野田Time类)的一个很好的和“宽容”的方式?
我想我应该用
- http://goo.gl/a2wYco用于获取系统的LocalDateTime在Noda时间
- LocalDateTimePattern.Parse(字符串),并可能是通过乔恩斯基特这里所描述的方法http://goo.gl/F8k51c用于解析各种格式的能力。 但是, 要使用的模式 ,使之真正灵活?