假设我想要删除存储在NSString变量中的值,我将为其分配一个值nil.这个有可能.但是,如果我想删除已经包含某些值的日期变量,我该怎么办?
我想创建一个直到日期的天数倒计时.我对几小时或几分钟不感兴趣,只是从当前日期到设定日期的天数.这就是我一直在尝试的:
NSDate *date = [NSDate date];
NSString *dateString = [date description];
// this **dateString** string will have **"yyyy-MM-dd HH:mm:ss +0530"**
// NSMutableString *mutString = dateString;
NSArray *arr = [dateString componentSeperatedByString:@" "];
// arr will have [0] -> yyyy-MM-dd, [1] -> HH:mm:ss, [2] -> +0530 (time zone)
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为当前日期是以分钟和秒为单位的时间.
//NSDate *currentDate = [[NSDate alloc] init];
NSString *start = [arr objectAtIndex:0];//[NSString stringWithFormat:@"%@", currentDate];//@"2011-11-05";
NSLog(@"%@",start);
NSString *end = @"2011-6-03";
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd"];
NSDate *startDate = [f dateFromString:start];
NSDate *endDate …Run Code Online (Sandbox Code Playgroud) 这是我的代码
"时间间隔"= 1372418789000;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:1372418789000];
NSString *formattedDateString = [dateFormatter stringFromDate:date];
NSLog(@"formattedDateString: %@", formattedDateString);
Run Code Online (Sandbox Code Playgroud)
输出格式为DateString:45460-03-21 10:53:20
但我要求的输出是2013-06-28 04:26:29 America/Los_Angeles
我在IBAction中有以下代码.我想测量AVSpeechSynthesizer在一系列方向上运行所花费的确切时间.但是,executionTime会立即记录而不是在循环结束时记录(返回不到一秒,而不是我预期的10-15秒).我做错了什么?
NSDate *methodStart = [NSDate date];
for (NSString* direction in directions) {
AVSpeechUtterance *aDirection = [[AVSpeechUtterance alloc] initWithString:direction];
aDirection.rate = .3;
[self.synthesizer speakUtterance:aDirection];
}
NSDate *methodFinish = [NSDate date];
NSTimeInterval executionTime = [methodFinish timeIntervalSinceDate:methodStart];
NSLog(@"executionTime = %f", executionTime);
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的NSDateFormatter:
YYYY/MM/dd HH:mm:ss
我可以从转换NSDate到NSString和NSString到NSDate.但我想要的是在格式化时获取NSDate.我想把它转换成NSString然后转换回来,NSDate但这种方式很可怕,我确信有一种更简单的方法,对吧?
我有一个NSString格式的日期:"Jun 25, 2014 10:10:15 AM"
我需要把这个日期从一个NSDate.但我在日期格式上尝试了一些格式,并且NSDate设备上的值始终为nil.如果我在设备上或在模拟器上运行Xcode它的工作,但我生成.ipa并发送到iPhone无法正常工作.
码:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, yyyy HH:mm:ss a"];
NSDate * dataStringFormatted = [dateFormat dateFromString: @"Jun 25, 2014 10:10:15 AM"];
Run Code Online (Sandbox Code Playgroud)
我试过格式:
@"MMM dd, yyyy HH:mm:ss a"
@"MMM dd, yyyy H:mm:ss a"
@"MMM dd, yyyy HH:mm:ss aa"
@"MMM dd, yyyy H:mm:ss aa"
@"MMM dd, yyyy HH:mm:ss aaa"
@"MMM dd, yyyy H:mm:ss aaa"
@"MMMM dd, yyyy H:mm:ss aa"
@"MMMM dd, yyyy H:mm:ss aaa"
@"MMMM dd, …Run Code Online (Sandbox Code Playgroud) 我想以X年Y个月Z天的形式计算年龄.这是我的代码
NSString *dateString = @"15-Sep-1997";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd-MMM-yyyy"];
NSDate *PrevDate = [dateFormatter dateFromString:dateString];
NSDate *today = [NSDate date];
NSLog(@"Prev date = %@", PrevDate);
NSLog(@"today =%@", today);
NSInteger years;
NSInteger months;
NSInteger days;
NSCalendar *calendar = [NSCalendar currentCalendar];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *dateComponentsNow = [calendar components:unitFlags fromDate:today];
NSDateComponents *dateComponentsBirth = [calendar components:unitFlags fromDate:PrevDate];
if (([dateComponentsNow month] < [dateComponentsBirth month]) ||
(([dateComponentsNow month] == [dateComponentsBirth month]) && ([dateComponentsNow day] < [dateComponentsBirth day]))) { …Run Code Online (Sandbox Code Playgroud) 我想检测系统设置中完成的时间格式更改.我使用下面的代码,但它总是给我时间旧的格式.我怎样才能获得新的时间格式?
#pragma mark
#pragma mark - application change time format
-(void)applicationSignificantTimeChange:(UIApplication *)application
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setDateStyle:NSDateFormatterNoStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *dateString = [formatter stringFromDate:[NSDate date]];
NSLog(@"dataString ::%@",dateString);
NSRange amRange = [dateString rangeOfString:[formatter AMSymbol]];
NSRange pmRange = [dateString rangeOfString:[formatter PMSymbol]];
is12Hour = (amRange.length > 0 || pmRange.length > 0);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码初始化NSTimeInterval:
NSTimeInterval *timeStamp = [[NSDate date] timeIntervalSince1970];
Run Code Online (Sandbox Code Playgroud)
但它不断抛出错误:
使用不兼容类型'NSTimeInterval'(又名'double')的表达式初始化'NSTimeInterval*'(又名'double*')
我该如何解决?
我有CoreDatamyDate = date,Entity列并返回输出:
let mydate = coreDataValues[0].myDate!
print(mydate)
OUTPUT == 2017-02-01 12:45:40 +0000
Run Code Online (Sandbox Code Playgroud)
我想转换mydate成datetime下面的例子;
2017-12-20-23-59-59
Run Code Online (Sandbox Code Playgroud)
我该怎么做 ?
泰