如何向 NSDate 添加小时数?

发布于 2024-08-09 18:07:34 字数 274 浏览 3 评论 0原文

我有一个日期转换为双精度值并保存在数据库中。现在,我想比较 currentDate > 是否为myDataBaseDate + 8 小时 即,我想将 8 小时添加到 myDataBaseDate 中。我正在将日期转换为双精度值。那么我如何从数据库保存的日期中获取 8 小时后的时间。我如何比较

if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase)

I have a date converted to double value and saved in database. Now, I want to compare if currentDate > myDataBaseDate + 8 hours i.e., I want to get 8 hours added to myDataBaseDate. I'm converting date into double values. So how do I get 8 hours later time from my database saved date. How do I compare

if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

相权↑美人 2024-08-16 18:07:34

我不完全确定您要做什么,但您可以通过使用以下命令将时间(以秒为单位)添加到另一个 NSDate 上来创建 NSDate 对象:

- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds

//例如。将当前时间添加 8 小时:

NSDate *mydate = [NSDate date];
NSTimeInterval secondsInEightHours = 8 * 60 * 60;
NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours];

I'm not entirely sure what you are trying to do, but you can create an NSDate object by adding time in seconds on to another NSDate using:

- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds

// eg. to add 8 hours to current time:

NSDate *mydate = [NSDate date];
NSTimeInterval secondsInEightHours = 8 * 60 * 60;
NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours];
惯饮孤独 2024-08-16 18:07:34

从 iOS 8 开始,有更方便的 dateByAddingUnit

//add 8 hours
let calendar = NSCalendar.autoupdatingCurrentCalendar()
newDate = calendar.dateByAddingUnit(.CalendarUnitHour, value: 8, toDate: originalDate, options: nil)

Since iOS 8 there is the more convenient dateByAddingUnit:

//add 8 hours
let calendar = NSCalendar.autoupdatingCurrentCalendar()
newDate = calendar.dateByAddingUnit(.CalendarUnitHour, value: 8, toDate: originalDate, options: nil)
关于从前 2024-08-16 18:07:34

您可以简单地使用:

NSDate *incrementedDate = [NSDate dateWithTimeInterval:numberOfSeconds sinceDate:[NSDate date]];

You can simply use:

NSDate *incrementedDate = [NSDate dateWithTimeInterval:numberOfSeconds sinceDate:[NSDate date]];
南风起 2024-08-16 18:07:34

您只需将 8 * 3600 添加到数据库值(假设转换后的双精度值代表秒)。

You can simply add 8 * 3600 to your database value (assuming that your converted double value represents seconds).

我喜欢麦丽素 2024-08-16 18:07:34

NSDate *startdate = datePicker.date;

    NSTimeInterval secondsInOneHours = 1 * 60 * 60;

    NSDate *dateOneHoursAhead = [startdate dateByAddingTimeInterval:secondsInOneHours];

    [dateformate setDateFormat:@"d-MMM-yy HH:mm:ss"];

    strDate = [dateformate stringFromDate:dateOneHoursAhead];

NSDate *startdate = datePicker.date;

    NSTimeInterval secondsInOneHours = 1 * 60 * 60;

    NSDate *dateOneHoursAhead = [startdate dateByAddingTimeInterval:secondsInOneHours];

    [dateformate setDateFormat:@"d-MMM-yy HH:mm:ss"];

    strDate = [dateformate stringFromDate:dateOneHoursAhead];
雨落□心尘 2024-08-16 18:07:34

Swift 3.X 使用简单

let calendar = NSCalendar.autoupdatingCurrent
let newDate = calendar.date(byAdding: .hour, value: 8, to: Date())

Swift 3.X Simple usage

let calendar = NSCalendar.autoupdatingCurrent
let newDate = calendar.date(byAdding: .hour, value: 8, to: Date())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文