我想将我的时间戳值转换1308031456为NSDate格式(这会产生Tue, 14 Jun 2011 06:04:16 GMT在线Web转换中的值).我如何以编程方式在两者之间进行转换?
尝试在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.
我跟随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调用类型方法?
我正在尝试从一个月和一年生成一个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
我必须做一些可怕的错误,但我不知道是什么.任何人都知道可能会发生什么?
所以这是一个关于NSMutableArray自定义对象排序的最佳方法的基本问题.
我有一个NSMutableArray自定义对象,每个对象都有一个NSString并且NSDate一起去.我需要通过最新的对象(最新的NSDate)对数组进行排序,我很确定NSDate compare: NSDate如果这只是一个数组,我可以简单地使用NSDate,但是因为我需要对所有对象进行排序而不仅仅是日期,所以我我不确定我是否可以使用该方法.
在伪代码方面,我需要:查看单个对象,确定当前对象是否NSDate是数组中的下一个最大对象,如果是,则移动对象,而不仅仅是日期.
再次,这是我甚至犹豫不决的问题,因为它是如此基本,但我不想写一些非常低效的方法,如果有一个预先存在的类方法基本上做我想要的,搜索一个对象的数组子属性并根据子属性对对象进行排序.
谢谢你的帮助.
如果我有一个UIDatePicker,并且我希望将最小和最大日期范围设置为三十年前到三十年之间,我该如何设置它?
我想将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) 我有一个包含当前日期的字符串,使用它:
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)
我正在dateFromString为nil为0x0.我究竟做错了什么?
我在尝试:
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时间,我该如何实现呢?
谢谢
nsdate ×10
objective-c ×7
ios ×4
cocoa ×3
iphone ×3
swift ×3
cocoa-touch ×1
ios6 ×1
julian-date ×1
nsstring ×1
sorting ×1
uidatepicker ×1