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

使用Swift 3和XCode 8在数周和数天内的2个日期之间的差异

严宸
2023-03-14
问题内容

我正在尝试计算几周和几天的两个日期(一个是当前日期,另一个是来自日期选择器)之间的差异,然后将结果显示在标签上,这就是我到目前为止所做的,我感谢经验丰富的开发人员的帮助这里!

let EDD = datePicker.date
let now = NSDate()

let formatter = DateComponentsFormatter()
formatter.unitsStyle = .short
formatter.allowedUnits = [.day]
formatter.maximumUnitCount = 2

let string = formatter.string (from: now as Date, to: EDD)

label.text = string

问题答案:

您可以使用CalendardateComponents(_:from:to:)找到2个日期之间的差异所需的单位。

例:

let dateRangeStart = Date()
let dateRangeEnd = Date().addingTimeInterval(12345678)
let components = Calendar.current.dateComponents([.weekOfYear, .month], from: dateRangeStart, to: dateRangeEnd)

print(dateRangeStart)
print(dateRangeEnd)
print("difference is \(components.month ?? 0) months and \(components.weekOfYear ?? 0) weeks")


> 2017-02-17 10:05:19 +0000
> 2017-07-10 07:26:37 +0000
> difference is 4 months and 3 weeks

let months = components.month ?? 0
let weeks = components.weekOfYear ?? 0


 类似资料:
  • 问题内容: 我想得到两个Java Date对象之间的区别。我使用了Joda-Time库。但是问题是我得到的天数差异大于实际的天数差异。 这是我的代码段: 这是我的输出: 在这里,为什么将“ 06/22/2010”设为1月22日?有人遇到类似的问题吗? 帮我朋友..提前感谢.. 问题答案: 月份是MM 在您的情况下: DateFormat formatter = new SimpleDateForm

  • 问题内容: 我需要找到两个日期之间的天数:一个是来自报表,另一个是当前日期。我的片段: 这是一个私有方法,并且today是Date对象,仅供您说明。我关注了Java论坛中的两篇文章Thread 1 / Thread 2。 它在独立程序中可以正常工作,尽管当我将其包含在逻辑中以从报告中读取时,我会在值上获得不同寻常的区别。 为什么会发生,如何解决? 编辑: 与实际天数相比,我得到的天数更多。 问题答

  • 问题内容: 在我的代码中,日期之间的差异是错误的,因为它应该是38天而不是8天。我该如何解决? 问题答案: 问题出在变量中。月以Capital M表示。 尝试更改为: 有关更多信息,请参见此javadoc。 编辑: 这是代码,如果您想以注释的方式打印差异: 希望对您有所帮助!

  • 为了计算月租金,我试图显示两个日期之间的差异,我期望月和日的确切数量,因为合同是“每月”的,所以如果是2月、3月或4月,每月的金额是固定的。比如说:Strat_D=05-Aug-2020 End_D=20-Sept-2020我用这个代码来计算天数: 输出为:45,但预期为:1个月 如果我使用: 输出为:1,但预期:1.5 提前谢谢

  • 问题内容: 查看两个日期之间有多少整天的最短方法是什么?这就是我现在正在做的。 问题答案: 假设您确实有两个日期对象,则可以从另一个对象中减去一个,然后查询结果对象的天数: 它也适用于日期时间-我认为它会四舍五入到最近的日期:

  • 问题内容: 早上好, 我开发了一个android应用程序,我疯了!由于几天,我试图得到2个日期之间的差异天。 我在乔达时间就意识到了-这似乎行得通。 我将长sqlDate保存在数据库中。这是日期选择器的日期(以毫秒为单位)。 现在,我想通过查询请求此日期,并计算以毫秒为单位的日期与现在的日期之间的日期差。 我试试这个: 记录结果: 但这是错误的。例如: 这是SqlDate的结果-现在= 25919