Tag: nsdate

一旦iOS中的系统date发生变化,如何更改带有date的标签?

我有一个简单的查询,但不知道该怎么做。 这是我想要实现的:1)我有一个UILabel与今天的date,即“29/04/12”2)在午夜,我希望该标签自己更新为“30/04/12”,无需更改查看或按任何东西。 这是第二步,我不知道该怎么做。 我有如何做这样的想法,如有可能获得date变化的系统通知(如果这甚至可能)或使用某种types的计时器作为触发器。 任何帮助将不胜感激,在此先感谢。

不同设备的结果不同

首先,我不得不说,我设置date和时间设置自动设置和时区是相同的每个设备。 所以我使用[NSDate date]以毫秒为单位获取时间戳,然后编码到NSData并发送到另一个设备。 接收器上的数据正在被解码,并且与新的[NSDate date]相减。 这样我就可以获得发送和接收消息所需的总时间。 我认为,因为当发件人是iPhone 4的iOS6和接收器是iPhone 5的iOS7,然后接收方比发件人有更早的时间戳。 我不知道为什么? 也许[NSData date]不是那种types的操作最可靠的类? 我使用GCDAsyncUdpSocket发送/接收UDP。 代码发送者 NSData *data2 = [self createRandomNSData:8192]; NSMutableData *dataToSend =[NSMutableData data]; [dataToSend appendBytes:&tag length:sizeof(int)]; long long currentTimeStamp = (long long)([[NSDate date] timeIntervalSince1970]*1000.0); [dataToSend appendBytes:&currentTimeStamp length:sizeof(long long)]; [dataToSend appendData:data2]; NSLog(@"%i || %lld || %lu",tag, currentTimeStamp,(unsigned long)[dataToSend length]); [_udpSocket sendData:dataToSend toHost:@"230.0.0.1" port:_port withTimeout:-1 tag:tag]; tag++; […]

我怎样才能使用NSDateFormatter获得string“昨天”?

我想格式化我的NSDate以便昨天发生的date将显示为“昨天”。这可以使用NSDateFormatter ?

用T和Z字符转换时间戳string到NSDate

我不知道如何将此string转换为NSDate。 date格式为“2012-10-21T07:00:00Z” 我想问题是,我不知道这些T和Z在string中的含义:) NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"yyyy-MM-ddTHH:mm:ssZ"]; NSDate *dateStart = [formatter dateFromString:@"2012-10-21T07:00:00Z"]; // format that I want [formatter setDateFormat:@"yyyy-MM-dd HH:mm"]; NSLog(@"date: %@", [formatter stringFromDate:dateStart]); 所有date的格式如下: 2014-09-12T03:46:25Z

在没有“时区更正”的情况下从组件创buildNSDate

我有一个function func createDate(day: Int, month: Int, year: Int) -> NSDate { var comp = NSDateComponents() comp.day = day comp.month = month comp.year = year var cal = NSCalendar.currentCalendar() if var date = cal.dateFromComponents(comp) { return date } return NSDate() } 如果我打电话给 createDate(07, 01, 1984) 产量是1984-01-06 23:00:00 +0000 。 我假设时区有一些影响。 我怎样才能调整我的代码,使输出将是1984-01-07 00:00:00 +0000 ? 我在这里错了什么? 我怎么困惑?

根据元组的第二个值对数组进行sorting

感谢您阅读我的文章。 我有一个元组的数组声明如下: var myArray: [(item1: String?, item2: NSDate?)] = [] 在我的循环结束时,我想基于每个元组的item2,其types是NSDate?sorting我的元组数组NSDate? 。 基于这个答案和这个答案,我尝试了以下,但收到这个编译器错误, "cannot invoke 'sort' with an argument list of type '((_,_) -> _)' 。 这是我试过的: myArray.sort {$0.1.item2?.compare($1.1.item2?) == NSComparisonResult.OrderedDescending } PS println()工作正常,打印item1和item2作为可选。

时区/ DST与NSDate不可知的时间戳

我正在创build将被发送到服务器的对象,并且我试图确保我考虑时区和夏时制问题,所以我希望我的时间戳是“1970年以来的秒数”,而不考虑时区等。 [NSDate timeintervalSinceReferenceDate]足够吗? 在文档中,我知道自January 1 1970 00:00:00 GMT年January 1 1970 00:00:00 GMT以来,这是我想要的,但NSDate如何处理时区? 如果用户发送一个设备设置为EST的对象,然后将其设备更改为PST,那么这对时间戳有什么影响? 我的目标是没有什么区别,我似乎无法从文档中搜集。 date编程是一个棘手的问题,我想确保我做对了。

根据ISO 8601获得NSDate的日历周

有没有办法根据ISO 8601获得一个NSDate的日历?我认为: Datecomponents *dateComponents = [cal components:(NSWeekOfYearCalendarUnit ) fromDate: testDate ]; int calandarWeek = [dateComponents weekOfYear]; 使用不同的algorithm。 ISO定义:CW1是一年中的第一个星期,包含4天CW,周一开始

在某些情况下,将NSString转换为NSDate会添加一年

自今年年底以来,我有一些问题将NSString转换为NSDate。 代码以前一直很棒,但是它突然开始变得更加奇怪… 例如,2013-01-05转换为NSDate时将变为2014-01-05。 由于这是一整年,它不觉得这是时区惊魂。 这不是从2012年开始的。 有没有人知道什么可能是错的? 代码:NSString * dateString = postInfo.no​​teDate; NSString * newDateString = [dateString substringToIndex:10]; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"YYYY-MM-dd"]; NSDate *date = [[NSDate alloc] init]; date = [dateFormat dateFromString:newDateString]; newDateString返回2013-01-05 date收益2014-01-05

NSData被保存为CoreData中的时间戳

我目前正在CoreData的iOS应用程序中保存date。 在核心数据中,我的date属性是“date”types。 在我的NSManagedObjectSubclass文件中,属性的types是:NSDate(这很好)。 核心数据中的date被存储为:2014/05/16 14:54:51当我检查我的SQLite3导航器中的实际值,它被存储在窗体中: 421959291.293972为date 任何人都可以向我解释如何获得上述价值的date,有没有办法将其转换回forms:2014/05/16 14:54:51? 我问这是因为我试图通过一个csv文件创build一个数据集,并希望确保我input的csv文件中的所有值由Core Data / SQLite3正确转换为正确的格式。 在此先感谢所有回复的人。