当前位置: 首页 > 面试题库 >

快速从字符串转换为日期返回nil

湛鸿雪
2023-03-14
问题内容

我在Swift 3中将字符串转换为日期时遇到问题。这是我的代码,在转换时它会返回nil值。

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss +zzzz"
dateFormatter.locale = Locale.init(identifier: "bg_BG")

let recdate = dateFormatter.date(from:"Fri, 10 Mar 2017 15:03:03 +0530")!;`

问题答案:

您为小时和时区设置了错误的格式说明符。用这个:

dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss Z"
dateFormatter.locale = Locale(identifier: "en_US")
  • hh表示12小时格式,因此没有15小时。请HH改用
  • +zzzz是无效的时区说明符。使用Z替代
  • 除非将星期五缩短为Fri保加利亚语,否则请使用英语语言环境


 类似资料:
  • 问题内容: 我有以下格式的日期字符串: 我需要将其更改为以下内容: 以前,我一直使用此库-> SwiftDate来操作日期,但现在不起作用。 我也尝试过类似的东西: 但这不起作用。我能怎么做? 提前致谢。 问题答案: 具有小数秒和时区的标准ISO8601日期格式为 yyyy-MM-dd’T’HH:mm:ss.SSSZ 斯威夫特3: 在macOS 10.13+中,iOS 11+ 是输入格式化程序的替

  • 问题内容: 在我的程序中,我试图将日期转换为指定格式的字符串,然后再转换为日期。我需要日期为dd-MMM- yy格式。因此,我正在使用SimpleDateFormat将日期转换为dd-MMM-yy格式, 结果是我预期的,即12年5月23日,但是当我使用parse()将字符串转换回日期时,它将更改为IST 2012年5月23日星期三13:16:14。 有什么方法可以将字符串转换回日期而不更改格式?我

  • 在我的程序中,我试图将日期转换为字符串,转换为指定格式,然后转换回日期。我需要日期是dd-MMM-yy格式。因此,我使用SimpleDateFormat将日期转换为dd-MMM-yy格式, 结果与我预期的一样,即23-may-12,但当我使用parse()将字符串转换回日期时,它更改为Wed may23 13:16:14 IST 2012。 有什么方法可以在不改变格式的情况下将字符串转换回日期吗?

  • 问题内容: 我有一个映射到Swift的C函数定义为: 我正在尝试传递函数的路径并尝试过: 但是在path [i]上我得到了错误: ‘下标’不可用:不能下标Int范围的字符串 也不 也不管用 除了无法正常工作外,我认为还必须有一种更好,更轻松的方法来做到这一点。以前使用CString在StackOverflow上的答案似乎不再起作用。有什么建议? 问题答案: 使用CString在StackOverf

  • 问题内容: 我对以下行为感到非常困惑。我从一个方法返回2日期作为字符串: 我添加了一个屏幕截图,显示返回的日期分别为“ 2018-06-20 00:00:00”和“ 2018-06-24 00:00:00”,并保留了调试跟踪以显示 值。 我只是想将日期转换为20180620格式。 方法: …接受字符串值 我不明白“ 2017年12月6日星期三00:00:00 GMT”的日期是哪里 ?这是最终 作为

  • 问题 你的应用程序接受字符串格式的输入,但是你想将它们转换为 datetime 对象以便在上面执行非字符串操作。 解决方案 使用Python的标准模块 datetime 可以很容易的解决这个问题。比如: >>> from datetime import datetime >>> text = '2012-09-20' >>> y = datetime.strptime(text, '%Y-%m-%