如何以编程方式在nsdate中设置小时分钟?

mac*_*mac 6 iphone objective-c nsdate hour minute

我在一个标签中有2:01:20 PM格式; 经过一些计算后,我需要更改该标签的小时和/或分钟.

也就是说,是否可以通过将其转换为NSDate对象并像下午3:20:30那样修改小时和分钟来更改该标签值?

这有什么setter方法吗?

Bam*_*oOS 27

您的第一个问题" 如何以编程方式在nsdate中设置小时分钟? " 的答案如下:

    NSDate* result;
    NSDateComponents *comps = [[NSDateComponents alloc] init];
    [comps setMinute:0];
    [comps setHour:0];
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    result = [gregorian dateFromComponents:comps];
    [comps release];
Run Code Online (Sandbox Code Playgroud)


Tec*_*Zen 1

如果您需要及时计算特定的真实实例,例如 2010 年 10 月 23 日下午 3:20:30,那么您需要使用 NSCalendar,它可以让您分解日期并进行与日期相关的计算。

警告的话。日期和时间的计算极其复杂和详细。预计需要花费几个小时来学习 API。