如何确定Swift 3中NSDate类的小时,分钟和秒?
在Swift 2中:
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.Hour, fromDate: date)
let hour = components.hour
Run Code Online (Sandbox Code Playgroud)
斯威夫特3?
如何将字符串转换为NSDateiOS?
'YYYY'和'yyyy'之间的确切区别是什么?我在这个链接中读到,它说明了这一点
一个常见的错误是使用YYYY.yyyy指定日历年,而YYYY指定ISO年度日历中使用的年份("年度周").在大多数情况下,yyyy和YYYY会产生相同的数字,但它们可能会有所不同.通常,您应该使用日历年.
但是当我尝试使用时
NSString *stringDate = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mma"];
NSDate *date=[dateFormatter dateFromString:stringDate];
NSLog(@"Date 1 : %@",date); //2013-02-28 12:00:00 +0000
NSString *stringDatee = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatterr = [[NSDateFormatter alloc] init];
[dateFormatterr setDateFormat:@"MMM dd, YYYY hh:mma"];
NSDate *datee=[dateFormatterr dateFromString:stringDatee];
NSLog(@"Date 2 : %@",datee); //2013-01-05 12:00:00 +0000
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormat stringFromDate:datee];
NSLog(@"date 3 : …Run Code Online (Sandbox Code Playgroud) 我使用什么setDateFormat选项获取NSDateFormatter来获取一个月的序数后缀?
例如,下面的片段目前产生:
8月15日星期六下午3:11
我必须改变什么:
8月15 日星期六下午3:11
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"h:mm a EEEE MMMM d"];
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"%@", dateString);
Run Code Online (Sandbox Code Playgroud)
在PHP中,我将在上面的例子中使用它:
<?php echo date('h:m A l F jS') ?>
是否有一个NSDateFormatter等效于PHP格式化字符串中的S选项?
我的系统的日期时间是5月26日22:55,但是当我得到[NSDate date]日期时间是5月27日02:35
是因为时区吗?
如果是,如何解决这个问题,当我得到日期时,给我系统的日期,不检查时区
在objective-c中,以下代码使用dateAPI 生成UTC日期时间信息.
NSDate *currentUTCDate = [NSDate date]
Run Code Online (Sandbox Code Playgroud)
然而,在Swift中,
let date = NSDate.date()
Run Code Online (Sandbox Code Playgroud)
导致当地日期和时间.
我有两个问题:
date在NSDate对象中获得UTC时间和本地时间(以及当地时间).NSDate对象获得秒数的精度.编辑1:感谢所有输入,但我不是在寻找NSDateFormatter对象或字符串值.我只是在寻找NSDate对象(但是我们将它们煮熟,但这是要求).
见第1点.
我试图迅速获得本月的第一天和最后一天.
到目前为止,我有以下内容:
let dateFormatter = NSDateFormatter()
let date = NSDate()
dateFormatter.dateFormat = "yyyy-MM-dd"
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Year, .Month, .Day, .Hour, .Minute, .Second], fromDate: date)
let month = components.month
let year = components.year
let startOfMonth = ("\(year)-\(month)-01")
Run Code Online (Sandbox Code Playgroud)
但我不知道如何获得最后的约会.有缺点的内置方法吗?显然它必须考虑到闰年等.
我正在开始为iPhone开发,因此我在网上查看不同的教程以及自己尝试一些不同的东西.目前,我正在努力创建一个倒计时,直到午夜.要获得小时,分钟和秒的数量,我执行以下操作(我在某处找到):
NSDate* now = [NSDate date];
int hour = 23 - [[now dateWithCalendarFormat:nil timeZone:nil] hourOfDay];
int min = 59 - [[now dateWithCalendarFormat:nil timeZone:nil] minuteOfHour];
int sec = 59 - [[now dateWithCalendarFormat:nil timeZone:nil] secondOfMinute];
countdownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, min,sec];
Run Code Online (Sandbox Code Playgroud)
但是,我使用的每个地方-dateWithCalendarFormat:timeZone:都会出现以下错误:
warning: 'NSDate' may not respond to '-dateWithCalendarFormat:timeZone:'
(Messages without a matching method signature will be assumed to return 'id' and accept '...' as arguments.)
warning: no '-hourOfDay' method found
error: invalid operands to binary - (have 'int' and …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何比较两个日期,返回天数.
我有两个日期(作为"yyyy-mm-dd"形式的NSString),例如:
NSString *start = "2010-11-01";
NSString *end = "2010-12-01";
Run Code Online (Sandbox Code Playgroud)
我想实施:
- (int)numberOfDaysBetween:(NSString *)startDate and:(NSString *)endDate {
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
nsdate ×10
objective-c ×7
ios ×4
cocoa ×3
cocoa-touch ×2
nsstring ×2
swift ×2
formatting ×1
iphone ×1
nscalendar ×1
swift3 ×1