有没有办法将这种字符串转换为日期?

时间:2016-12-01 20:05:58

标签: c#

尝试将此Dec 1, 2016 1:48 PM CST之类的字符串转换为DateTime对象。

Convert.ToDateTime(story.AddedDateString);没有工作,我也没想到。

  

System.FormatException:字符串未被识别为有效字符串   约会时间。从索引21开始有一个未知单词。

是我收到的错误消息。想知道我是否可以在尝试转换之前告诉它格式?

2 个答案:

答案 0 :(得分:9)

DateTime.ParseExact会帮助你完成大部分工作。例如:

string input = "Dec 1, 2016  1:48 PM";
DateTime date = DateTime.ParseExact(input, "MMM d, yyyy  h:mm tt", CultureInfo.InvariantCulture);

但是,它不通过缩写处理时区,因为multiple time zones with CST是缩写。转换" CST"在框架内不直接支持偏移量。

如果您转换为包含偏移的格式,您可以将其转换为:

string input = "Dec 1, 2016  1:48 PM -06:00";
DateTime date = DateTime.ParseExact(input, "MMM d, yyyy  h:mm tt K", CultureInfo.InvariantCulture);

答案 1 :(得分:2)

您可以使用DateTime.ParseExact()并使用可用的DateTime格式化程序指定格式字符串。

举个例子:

string date = "Dec 1, 2016  1:48 PM CST";
DateTime parsedDate = DateTime.ParseExact(myDate, "MMM d, yyyy h:mm tt", CultureInfo.InvariantCulture);

唯一的问题是它不会处理您的时区。您必须通过用UTC偏移替换字符串的那部分来处理时区(如果您使用DateTime.ParseExact()格式zzz-06:00会处理该lazy var persistentContainer: NSPersistentContainer = { let description = NSPersistentStoreDescription() description.shouldInferMappingModelAutomatically = true description.shouldMigrateStoreAutomatically = true let container = NSPersistentContainer(name: "MY_APP") container.persistentStoreDescriptions = [description] let description = NSPersistentStoreDescription() description.shouldInferMappingModelAutomatically = true description.shouldMigrateStoreAutomatically = true container.persistentStoreDescriptions = [description] container.loadPersistentStores(completionHandler: { (storeDescription, error) in if let error = error as NSError? { fatalError("Unresolved error \(error), \(error.userInfo)") } }) return container }() // MARK: - Core Data Saving support func saveContext () { let context = persistentContainer.viewContext if context.hasChanges { do { try context.save() } catch { let nserror = error as NSError fatalError("Unresolved error \(nserror), \(nserror.userInfo)") } } } 或者在获得实际日期对象后删除该部分字符串并计算时区。

您可以在https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx

了解更多信息