相关疑难解决方法(0)

将时间字符串转换为swift日期

我使用firebase作为后端并存储一串时间,如下午7:00.

我正在尝试转换从Firebase收到的字符串并将其转换为NSDate,以便我可以对其进行排序,更改时间..等等

到目前为止,我已经在线查看了这段代码

dateFormatter.dateFormat = "hh:mm a"
                  dateFormatter.locale = NSLocale.current
                  dateFormatter.timeZone = NSTimeZone.local
                  let date = dateFormatter.date(from: item)
                  self.times.append(date!)
                  print("Start: \(date)")
Run Code Online (Sandbox Code Playgroud)

item是字符串(晚上7点)

当我运行应用程序时,控制台返回:

项目:上午9:00

开始:可选(2000-01-01 05:00:00 +0000)

我设置了时区,区域设置,格式.为什么返回的时间不正确?

打印出一些其他例子:

项目:下午1:20

开始:可选(2000-01-01 17:20:00 +0000)

项目:上午9:40

开始:可选(2000-01-01 05:40:00 +0000)

项目:上午10:00

开始:可选(2000-01-01 05:00:00 +0000)

项目:中午12:00

开始:可选(2000-01-01 17:00:00 +0000)

nsdate swift

4
推荐指数
1
解决办法
5722
查看次数

将来会返回一个小时的日期

我正在使用当前的日期/时间[NSDate date].返回的值是将来一小时.我检查了我的手机位置和时间设置,它们是正确的.

我可以使用下面的代码将正确的日期和时间显示为字符串.

[NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterShortStyle 
                                                       timeStyle:NSDateFormatterShortStyle]
Run Code Online (Sandbox Code Playgroud)

但我需要它将正确的日期/时间作为日期对象返回,因为我使用它来计算预计到达时间 -

[date dateByAddingTimeInterval:interval]
Run Code Online (Sandbox Code Playgroud)

我意识到我的问题类似于已经问过的问题,但没有一个答案符合我的需要.提前致谢!

init]过去一小时返回日期?

iphone nsdate

0
推荐指数
1
解决办法
2504
查看次数

标签 统计

nsdate ×2

iphone ×1

swift ×1