gpt4 book ai didi

ios - 如何根据NSDate计算年龄

转载 作者:IT王子 更新时间:2023-10-29 07:36:34 24 4
gpt4 key购买 nike

如何根据这种格式的出生日期计算年龄 6/24/1976 mon/date/year...

最佳答案

其中许多答案都没有正确考虑闰年等问题,最好使用 Apple 的方法而不是除以常数。

swift

let birthday: NSDate = ...
let now = Date()
let ageComponents = calendar.dateComponents([.year], from: birthday, to: now)
let age = ageComponents.year

objective-C

NSDate* birthday = ...;

NSDate* now = [NSDate date];
NSDateComponents* ageComponents = [[NSCalendar currentCalendar]
components:NSCalendarUnitYear
fromDate:birthday
toDate:now
options:0];
NSInteger age = [ageComponents year];

我认为这比这里的任何其他答案都更清晰、更准确。

编辑

通过将 birthdaynow 设置为中午来提高准确性。这是使用 Date 扩展(在 Swift 中)执行此操作的一种方法...

/// Returns a new date identical to the receiver except set to precisely noon.
/// Example: let now = Date().atNoon()
func atNoon() -> Date {
var components = (Calendar.current as NSCalendar).components([.day, .month, .year, .era, .calendar, .timeZone], from: self)
components.hour = 12
components.minute = 0
components.second = 0
components.nanosecond = 0
return Calendar.current.date(from: components)!
}

关于ios - 如何根据NSDate计算年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com