ios - 获取一个月的第一天

标签 ios objective-c nsdate nsdatecomponents

<分区>

我想从当月的第一天开始获取一个 NSDate 对象。我使用以下代码:

    NSDateComponents *components = [c components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekdayOrdinalCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
    components.day = 1;

    NSDate *dayOneInCurrentMonth = [c dateFromComponents:components];

但是当我记录这个日期时,它给了我前一天

day one = 2013-09-30 22:00:00 +0000 

最佳答案

您正在以 GMT 时区 (+0000) 记录日期。尝试记录这个:

NSLog(@"新日期:%@", [dayOneInCurrentMonth descriptionWithLocale:[NSLocale systemLocale]]);

关于ios - 获取一个月的第一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19479560/

上一篇:ios - CoreData : setAttribute has no effect 令人困惑的问题

下一篇:ios - 填充 NSMutableArray 不工作

相关文章:

ios - 如何将当前月份作为字符串获取?

objective-c - 参数是 KindOfClass : [NSNumber class] - sane way to check this?

iPhone 无法使用 type= @"mp3"播放 mp3 声音

iphone - 如何创建格式为 seconds :milliseconds? 的递增计时器

ios - 如何以编程方式在 View Controller 之间传递数据?我想将 UITextfield 数据传递给另一个 View Controller

ios - 多次使用 Text 时,SwiftUI 上没有更多上下文,表达式类型不明确,如何解决?

ios - 平衡多行 UILabel

ios - 2016-10-20T13 的日期格式 :01:47. 317

ios - NSDate,无法获得正确的日期格式

ios - 在 RealmSwift 迁移中删除表