标签: nsdate

将时间戳转换为nsdate格式

我想将我的时间戳值转换1308031456NSDate格式(这会产生Tue, 14 Jun 2011 06:04:16 GMT在线Web转换中的值).我如何以编程方式在两者之间进行转换?

iphone objective-c nsdate swift

42
推荐指数
3
解决办法
5万
查看次数

为什么NSDateFormatter会为这4个时区返回nil日期?

尝试在iOS6中运行它(尚未测试iOS6之前):

NSDateFormatter *julianDayDateFormatter = nil;
julianDayDateFormatter = [[NSDateFormatter alloc] init];
[julianDayDateFormatter setDateFormat:@"g"];

for (NSString *timeZone in [NSTimeZone knownTimeZoneNames]) {
    julianDayDateFormatter.timeZone = [NSTimeZone timeZoneWithName: timeZone];
    NSDate *date = [julianDayDateFormatter dateFromString:[NSString stringWithFormat:@"%d", 2475213]];
    if (date == nil)
        NSLog(@"timeZone = %@", timeZone);
}
Run Code Online (Sandbox Code Playgroud)

并得到以下输出:

America/Bahia
America/Campo_Grande
America/Cuiaba
America/Sao_Paulo
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么这四个时区的行为是这样的,NSDateFormatter设置为朱利安日数?所有其他时区使NSDateFormatter返回实际的NSDates.

objective-c nsdate nsdateformatter julian-date ios6

42
推荐指数
2
解决办法
2198
查看次数

NSDate()vs Swift中的NSDate.date()

我跟随Bloc.io Swiftris教程,他们通过以下方式初始化日期:

lastTick = NSDate.date()
Run Code Online (Sandbox Code Playgroud)

这导致编译错误:

'date()' is unavailable: use object construction 'NSDate()'
Run Code Online (Sandbox Code Playgroud)

哪个应该相等:

NSDate *lastTick = [NSDate date];
Run Code Online (Sandbox Code Playgroud)

(来自NSDate参考)

Apple是否将Swift界面更改为NSDate,因为我看过其他使用的示例NSDate.date

这只是NSDate还是你不能为任何Objective-C API调用类型方法?

cocoa objective-c nsdate ios swift

42
推荐指数
4
解决办法
4万
查看次数

从日,月和年生成NSDate

我正在尝试从一个月和一年生成一个NSDate(所有都是整数格式).

现在我的尝试是这样的:

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
NSNumber *day = [dataSource valueForKey:@"day"];
NSNumber *month = [dataSource valueForKey:@"month"];
NSNumber *year = [dataSource valueForKey:@"year"];
[components setDay:[day intValue]];
[components setMonth:[month intValue]];
[components setMonth:[year intValue]];
NSDate *_date = [calendar dateFromComponents:components];
Run Code Online (Sandbox Code Playgroud)

但是,_date在day = 24,month = 8,year = 2011时输出以下内容:

0168-07-25 04:56:02 +0000

我必须做一些可怕的错误,但我不知道是什么.任何人都知道可能会发生什么?

cocoa cocoa-touch objective-c nsdate ios

41
推荐指数
1
解决办法
2万
查看次数

NSDate昨天

如何NSDate使用除当前日期之外的自定义日期创建对象?例如,我想创建一个昨天或两天前的变量.

nsdate swift

41
推荐指数
3
解决办法
2万
查看次数

按对象的属性对NSMutableArray进行排序

所以这是一个关于NSMutableArray自定义对象排序的最佳方法的基本问题.

我有一个NSMutableArray自定义对象,每个对象都有一个NSString并且NSDate一起去.我需要通过最新的对象(最新的NSDate)对数组进行排序,我很确定NSDate compare: NSDate如果这只是一个数组,我可以简单地使用NSDate,但是因为我需要对所有对象进行排序而不仅仅是日期,所以我我不确定我是否可以使用该方法.

在伪代码方面,我需要:查看单个对象,确定当前对象是否NSDate是数组中的下一个最大对象,如果是,则移动对象,而不仅仅是日期.

再次,这是我甚至犹豫不决的问题,因为它是如此基本,但我不想写一些非常低效的方法,如果有一个预先存在的类方法基本上做我想要的,搜索一个对象的数组子属性并根据子属性对对象进行排序.

谢谢你的帮助.

sorting iphone nsdate nsmutablearray

40
推荐指数
2
解决办法
2万
查看次数

UIDatePicker,根据今天的日期设置最大和最小日期

如果我有一个UIDatePicker,并且我希望将最小和最大日期范围设置为三十年前到三十年之间,我该如何设置它?

iphone objective-c nsdate uidatepicker

39
推荐指数
4
解决办法
6万
查看次数

如何将NSDate转换为相对格式为"今天","昨天","一周前","一个月前","一年前"?

我想将nsdate转换为相对格式"Today","Yesterday","a week ago","a month ago","a year ago","date as it is".

我已经为它写了以下方法..但有些如何只是打印,因为它是日期..你能告诉我应该是什么问题吗?

//以下是我的函数,它将日期转换为相对字符串

+(NSString *)getDateDiffrence:(NSDate *)strDate{
    NSDateFormatter *df = [[NSDateFormatter alloc] init];

    df.timeStyle = NSDateFormatterMediumStyle;
    df.dateStyle = NSDateFormatterShortStyle;
    df.doesRelativeDateFormatting = YES;
    NSLog(@"STRING DATEEE : %@ REAL DATE TODAY %@",[df stringFromDate:strDate],[NSDate date]);
      return [df stringFromDate:strDate];

}
Run Code Online (Sandbox Code Playgroud)

我有以下格式的日期字符串 "2013-10-29T09:38:00"

当我试图给出NSDate对象时,它总是返回我的null日期.
所以我试图将该日期转换为yyyy-MM-dd HH:mm:ssZZZZ然后我将此日期传递给函数然后它只是打印整个日期..

如何解决这个问题呢?

//以下是我调用上述函数的代码

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *date = [formatter dateFromString:[threadDict objectForKey:@"lastMessageDate"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZZZZ"];

NSString *date1 = [formatter stringFromDate:date];
NSDate *date_d = …
Run Code Online (Sandbox Code Playgroud)

objective-c nsdate relative-date nsdateformatter ios

39
推荐指数
5
解决办法
3万
查看次数

NSString到NSDate

我有一个包含当前日期的字符串,使用它:

NSString *date = [[NSDate date] description];
Run Code Online (Sandbox Code Playgroud)

在不同的点,我想从这个字符串中检索日期,我使用以下代码:

[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault];
[dateFormatter setDateFormat:@"YYYY-MM-DD HH:MM:SS ±HHMM"];

NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:<NSString containing date>];
Run Code Online (Sandbox Code Playgroud)

我正在dateFromStringnil为0x0.我究竟做错了什么?

cocoa nsdate nsstring nsdateformatter

38
推荐指数
2
解决办法
4万
查看次数

Objective-C,如何以UTC时区获取当前日期?

我在尝试:

NSDate *currentDateInLocal = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:SS.SSS'Z'"];
NSString *currentLocalDateAsStr = [dateFormatter stringFromDate:currentDateInLocal];

NSDateFormatter * dateFormatter2 = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter2 setTimeZone:timeZone];
[dateFormatter2 setDateFormat:@"yyyy-MM-dd'T'HH:mm:SS.SSS'Z'"];
NSDate *currentDateInUTC = [dateFormatter2 dateFromString:currentLocalDateAsStr];
Run Code Online (Sandbox Code Playgroud)

但它仍然不代表当前的UTC时间,我该如何实现呢?

谢谢

objective-c nsdate nsdateformatter ios

38
推荐指数
4
解决办法
8万
查看次数