标签: nsdate

dateWithTimeIntervalSinceNow给出愚蠢的答案

所以这是我得到的代码:

NSDate *myCustomDate = [NSDate dateWithTimeIntervalSinceNow:10];
NSLog(@"My custom date: %@", myCustomDate);
Run Code Online (Sandbox Code Playgroud)

它返回:My custom date: 0023-01-23 18:37:17 +0000.

为什么今年会给出一个愚蠢的答案,而不是2011年?其他一切都是正确的.

iphone cocoa-touch objective-c nsdate

0
推荐指数
1
解决办法
2182
查看次数

Objective-c格式时间一直到特定日期

我正在创建一个倒数计时器,我需要打印剩余的时间(小时:分钟:秒)直到特定日期.我已经找到了如何获得Now和目标日期之间的时间间隔,但我不知道如何将时间间隔格式化为字符串.NSDateFormater是否适用于NSTimeInterval?

objective-c nsdate nstimeinterval

0
推荐指数
1
解决办法
4470
查看次数

获取目标C中两个NSString之间的时差

我有两个来自服务器的字符串,用于存储时间,我需要比较这两个字符串之间的时间间隔(以分钟为单位,必要时以小时为单位)。我应该转换NSDate还是使用NSString

NSString看看这样的:

NOW 14:22
LAST TIME 10:18
Run Code Online (Sandbox Code Playgroud)

编辑#1由于每个人都在说我要使用NSDate,所以我将数据库中的数据转换为DATETIME,现在我可以使用以下代码比较两个NSDate了:

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"pt_BR"]];
    [dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];

    NSDate *currentDateTimeWithOffset = [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone localTimeZone] secondsFromGMT]];

    NSString *strDate = [dateFormatter stringFromDate:currentDateTimeWithOffset];
    NSDate * now = [dateFormatter dateFromString:strDate];
NSDate *date = [dateFormatter dateFromString:@"2013-04-09 12:10:18"];

NSLog(@"Difference %f",[now timeIntervalSinceDate:date]);
Run Code Online (Sandbox Code Playgroud)

结果如下:

 Difference 864.000000
 NOW 2013-04-09 15:24:42 +0000
 LAST DATE 2013-04-09 12:10:18
Run Code Online (Sandbox Code Playgroud)

那是对的吗?差异以秒为单位?

objective-c nsdate nsstring ios

0
推荐指数
1
解决办法
3073
查看次数

从数组中删除过去的时间

我有这样的一系列时间:

(
    "2000-01-01 23:48:00 +0000",
    "2000-01-01 02:15:00 +0000",
    "2000-01-01 04:39:00 +0000",
    "2000-01-01 17:23:00 +0000",
    "2000-01-01 13:02:00 +0000",
    "2000-01-01 21:25:00 +0000"
)
Run Code Online (Sandbox Code Playgroud)

这是从这段代码生成的:

//loop through array and convert the string times to NSDates
                NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
                [timeFormatter setDateFormat:@"hh:mm a"];
                NSMutableArray *arrayOfDatesAsDates = [NSMutableArray array];
                for (NSObject* o in arrayTimes)
                {
                    NSLog(@"%@",o);
                    NSDate *nsDateTime = [timeFormatter dateFromString:o];
                    [arrayOfDatesAsDates addObject:nsDateTime];
                }
                NSLog(@"times array: %@", arrayOfDatesAsDates);//
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我试图在接下来的数组中获得时间.我的计划是删除过去的时间,订购它们,然后在下次使用第一个.

我怎样才能删除过去的?

谢谢

objective-c nsdate nsarray

0
推荐指数
1
解决办法
85
查看次数

在NSDate的小时内添加3小时

我想在我当前的日期添加3个小时.我使用以下代码添加小时数,但它增加了6个小时到当前日期.

NSDate *n = [NSDate date];
int daysToAdd = 3;  // or 60 :-)

// set up date components
NSDateComponents *components1 = [[[NSDateComponents alloc] init] autorelease];
[components1 setHour:daysToAdd];

// create a calendar   
NSCalendar *gregorian12 = [NSCalendar currentCalendar];

NSDate *newDate2 = [gregorian12 dateByAddingComponents:components toDate:n options:0];
NSLog(@"Clean: %@", newDate2);
Run Code Online (Sandbox Code Playgroud)

结果是: -

2013-09-10 12:25:24.752 project[1554:c07] Clean: 2013-09-10 06:55:15 +0000
Run Code Online (Sandbox Code Playgroud)

objective-c nsdate nscalendar nsdatecomponents ios

0
推荐指数
1
解决办法
6615
查看次数

在毫秒中将日期从毫秒格式转换为普通格式

我以毫秒格式从数据库中获取日期.我正在将日期转换为正常日期格式.但是它返回错误的日期.一次请给我ios的解决方案

以毫秒为单位的日期为1385856000000

转换那个日期后,我将于10/26/1970.

但实际日期是12/1/2013.

我使用以下代码是

int dobint = [secondChangeDob intValue];

            NSTimeInterval timeInSecond = dobint/1000;

            NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInSecond];

            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            [formatter setDateFormat:@"MM/dd/yyyy"];
            NSString *formattedDate=[formatter stringFromDate:date];
            NSLog(@"Formatted Date : %@",formattedDate);
            NSUserDefaults *dateDef = [NSUserDefaults standardUserDefaults];
            [dateDef setObject:formattedDate forKey:@"bDATE"];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsdate milliseconds ios

0
推荐指数
1
解决办法
2739
查看次数

快速检查NSDate不是零

我从userDefaults获取的值可能是nil或者可能是NSDate,所以我想检查,因为我需要在该日期采取行动.我该如何正确地进行检查?

        let timeAtQuit: NSDate = (userDefaults.objectForKey("timeAtQuit") as NSDate)

    if(timeAtQuit){ Type 'NSDate' does not conform to protocol 'BooleanType'

    if(timeAtQuit != nil){ // 'NSDate' is not convertible to 'UInt8'

    another attempt:
        var timeAtQuit:NSDate? = (userDefaults.objectForKey("timeAtQuit") as NSDate)

    if(timeAtQuit != nil){
        let timeSinceQuit:Double = timeAtQuit.timeIntervalSinceNow // 'NSDate?' does not have a member named 'timeIntervalSinceNow'
    }
Run Code Online (Sandbox Code Playgroud)

nsdate swift

0
推荐指数
1
解决办法
3514
查看次数

按字典中的NSDates排序字典数组

我正在创建一个包含单独帖子的应用程序(类似于Instagram).每个帖子都是一个位于一个大数组中的字典.在每个字典中,它们是一个NSDate,我想按照从最新到最旧的顺序对字典进行排序.

我已经阅读了类似的问题,但他们是客观的C.我有一种感觉NSSortDescriptor是一种有用的方法,但我不确定如何在这种情况下使用它.

任何帮助都会很棒,

谢谢

xcode nsdictionary nsdate nsarray swift

0
推荐指数
1
解决办法
1583
查看次数

iOS NSDate()返回不正确的时间

我正在尝试使用Swift获取当前日期NSDate().当我创建断点并停止应用程序时,我可以看到设备的系统时间有3个小时的差异.应用程序在真正的iPhone上运行.如何解决这个问题?

我还在App Delegate中写了以下内容以确定:

NSTimeZone.setDefaultTimeZone(NSTimeZone(name: "Europe/Kiev")!)
Run Code Online (Sandbox Code Playgroud)

但它仍然无效.

nsdate ios swift

0
推荐指数
2
解决办法
5215
查看次数

将字符串转换为日期会返回错误的结果

我有字符串形式的日期,因为Mon, 18 Apr 2016 07:29:49 GMT现在我试图通过这样做将其转换为日期对象

NSDateFormatter *parsingFormatter = [NSDateFormatter new];
[parsingFormatter setDateFormat:@"EE, dd MMM YYYY hh:mm:ss Z" ];
NSDate *date = [parsingFormatter dateFromString:@"Mon, 18 Apr 2016 07:29:49 GMT"];
Run Code Online (Sandbox Code Playgroud)

但是当我在date对象中看到结果时,它包含以下日期2015-12-21 07:29:49 +0000

有人可以说明为什么它将日期从2016年4月18日更改为2015年12月21日?

objective-c nsdate nsdateformatter ios swift

0
推荐指数
2
解决办法
406
查看次数