我正在使用下面的代码将日期字符串格式化为日期对象。但是对于某些日期字符串,它有效,对于某些日期字符串,它返回nil。
format = " yyyy-MM-DD ' t ' hh:MM:ss . sssz "
“2019-04-02T09:47:24.055Z”作品
“2019-03-27T22:31:17.140Z”不起作用
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.sssZ"
let date = dateFormatter.date(from: "2019-03-27T22:31:17.140Z")
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let date = dateFormatter.date(from: "2019-04-02T09:47:24.055Z")
let date1 = dateFormatter.date(from: "2019-03-27T22:31:17.140Z")
print(">>>>>!!", date, date1)
可选(2019-04-02 09:47:24 0000) 可选(2019-03-27 22:31:17 0000)
上面的代码像预期的那样工作。
使用SSS
代替sss
对于yyyy-MM-dd'T'HH: mm:ss.sssZ
and2019-04-02T09:47:24.055Z
的情况,输出为:
可选(2019-04-02 09:47:55 0000)无
看分和秒:)
你的格式不对。应该是:"yyyy-MM-dd'T'HH: mm:ss.SSSZ"
请看这里的日期时间格式:https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns
问题内容: 我正在尝试将Java解析为时间转换器应用程序的日期为2011年3月14日…我得到2010年12月26日…请帮助。 输出: 解析日期:美国东部时间2010年12月26日15:00:00 问题答案: 应该是(小写)。您可以在文档中找到可用字符及其含义的列表。 出于好奇,更多的信息,这对 本周一年 ,在这里(不是100%肯定它是什么,说实话)。
我有字符串,它是。 我想把这个字符串转换成格式为的字符串,或者在本例中是。
问题内容: 我正在尝试解析Java中的字符串日期对象。 我的字符串是: 代码是: 我期望的输出是: 但是我得到的是: 你知道为什么吗? 问题答案: 月用“ M”表示,“ m”表示分钟。 详细信息在此页面上。
我的字符串可以包含任何其他字符,但如果它至少包含一个数字,我希望从数组中获取这些字符串的索引。
问题 你想重复一个字符串。 解决方案 创建一个包含 n+1 个空元素的数组,然后用要重复的字符串作为连接字符将数组元素拼接到一起: # 创建包含10个foo的字符串 Array(11).join 'foo' # => "foofoofoofoofoofoofoofoofoofoo" 为字符串重复方法 你也可以在字符串的原型中为其创建方法。它十分简单: # 为所有的字符串添加重复方法,这会重复返回
我试图获取任意长度的字符串[],并将其打印成字符串,最好使用字段分隔符。现在我有: 但是由于某种原因,它只是返回“第二个”值。我如何使它正确连接这些值? 另外,我可以使用来简化代码吗?谢谢