首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为NSDate添加1天?

如何为NSDate添加1天?
EN

Stack Overflow用户
提问于 2011-02-21 23:28:02
回答 22查看 228.2K关注 0票数 353

基本上,正如标题所说。我想知道怎样才能给NSDate增加一天的时间。

所以如果是的话:

代码语言:javascript
复制
21st February 2011

它将变成:

代码语言:javascript
复制
22nd February 2011

如果是这样的话:

代码语言:javascript
复制
31st December 2011

它将变成:

代码语言:javascript
复制
1st January 2012.
EN

回答 22

Stack Overflow用户

发布于 2014-11-21 04:31:33

从iOS 8开始,您可以使用NSCalendar.dateByAddingUnit

Swift 1.x中的示例:

代码语言:javascript
复制
let today = NSDate()
let tomorrow = NSCalendar.currentCalendar()
    .dateByAddingUnit(
         .CalendarUnitDay, 
         value: 1, 
         toDate: today, 
         options: NSCalendarOptions(0)
    )

Swift 2.0:

代码语言:javascript
复制
let today = NSDate()
let tomorrow = NSCalendar.currentCalendar()
    .dateByAddingUnit(
        .Day, 
        value: 1, 
        toDate: today, 
        options: []
    )

Swift 3.0:

代码语言:javascript
复制
let today = Date()
let tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: today)
票数 279
EN

Stack Overflow用户

发布于 2014-11-21 04:54:30

iOS 8+,OSX 10.9+,Objective-C

代码语言:javascript
复制
NSCalendar *cal = [NSCalendar currentCalendar];    
NSDate *tomorrow = [cal dateByAddingUnit:NSCalendarUnitDay 
                                   value:1 
                                  toDate:[NSDate date] 
                                 options:0];
票数 38
EN

Stack Overflow用户

发布于 2020-02-13 05:11:16

Swift 4的更新:

代码语言:javascript
复制
let now = Date() // the current date/time
let oneDayFromNow = Calendar.current.date(byAdding: .day, value: 1, to: now) // Tomorrow with same time of day as now
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5067785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档