通常从DateTime
转换string
非常简单,但我遇到了这种格式:
Mon Jan 05 17:38:34 +1100 2015
这看起来很奇怪,也导致DateTime.Parse()
失败。所有的元素都在那里。有没有办法将此转换为DateTime而不执行string.split(" ")
将其划分为块。虽然标准超出了我的范围,但看起来它可能是ISO
标准。
为了澄清,我希望在使用string
将上述示例DateTime
转换为.NET
中的C#
对象时提供一些帮助,并希望不分割如果可能的话,字符串。
(@编辑,为什么你会批准一个编辑,将暂停的句子改成一个英语不好的连续句子?请继续编辑以便在编辑时使用epeen -.-)
答案 0 :(得分:6)
您可以指定确切的格式:
var text = "Mon Jan 05 17:38:34 +1100 2015"
var date = DateTime.ParseExact(text, "ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture);
如评论中所述,较少见的zzz
部分代表offset from UTC。出于这个原因,您可能更愿意使用DateTimeOffset
(使用相同的格式字符串)进行解析,因为它比DateTime
更好地处理此概念。但是,您的要求可能不允许这样做。
答案 1 :(得分:1)
这对我有用:
//in this example it is called in viewDidLoad
func viewDidLoad() {
var urlString = "urlstring"
retrieveDataFromXML(urlString, {(result) -> Void in
//result is weekForecasts
//UI elements can only be updated on the main thread, so get the main
//thread and update the UI element on that thread
dispatch_async(dispatch_get_main_queue(), {
self.currentTemperatureLabel.text = result[0] //or whatever index you want
return
})
})
}