gpt4 book ai didi

ios - 有没有办法检测 NSDate 在哪个千年?

转载 作者:行者123 更新时间:2023-11-28 20:01:12 25 4
gpt4 key购买 nike

我有一个来自 01/01/14 字符串的 NSDate。不幸的是,字符串是用两位数保存的,所以我不知道年份是 1900 年代还是 2000 年代。但我想创建一些智能代码来猜测全年是什么千年和世纪。我知道一个事实(基于我正在创建的应用程序),在 99% 的情况下年份不能低于 1900。

我已将日期转换为现在显示四位数字,但它现在显示为 01/01/0014

有没有办法将 NSDate 的千禧年检测为 0 并相应地进行更改?

我真正想做的是这样的(伪代码):

if (millennium == 0 && decade < 15 && decade > 99)
{
millennium = 2;
century = 0;
// change the date to 2000's here
}
else if (millennium == 00)
{
millennium = 1;
century = 9;
// change the date to 1900's here
}

最佳答案

对于初学者,您的伪代码不太正确(第一个 if 语句是不可能的条件,因为 decade 不能同时小于 15 和大于 99)。

我已经使用 NSDateComponents 创建了一个基本解决方案,并为何时更改您可以轻松更改的年份制定了我自己的条件。

NSDate *date; // this is your date

NSDateComponents* components = [[NSCalendar currentCalendar] components: NSMonthCalendarUnit | NSDateCalendarUnit | NSYearCalendarUnit fromDate:date];

if([components year] < 15) // 2000 to 2015
{
[components setYear:[components year] + 2000];
}
else if([components year] < 100) // 1915 to 1999
{
[components setYear:[components year] + 1900];
}

date = [NSCalendar currentCalendar] dateFromComponents:components];

关于ios - 有没有办法检测 NSDate 在哪个千年?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23937188/

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