の日付の秒値" 00
" を常に取得するにはどうすればよいですか?UIDatePicker
今、私はこの形式のような価値を得ています5:30:45
、私はこの形式の時間を取得する必要があります5:30:00
。
これを達成する方法は?
の日付の秒値" 00
" を常に取得するにはどうすればよいですか?UIDatePicker
今、私はこの形式のような価値を得ています5:30:45
、私はこの形式の時間を取得する必要があります5:30:00
。
これを達成する方法は?
私はこのコードを使用しましたが、正常に機能しています。
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dateComponents = [calendar components:( NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit ) fromDate:datePicker.date];
NSDateComponents *timeComponents = [calendar components:( NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ) fromDate:datePicker.date];
[dateComponents setHour:[timeComponents hour]];
[dateComponents setMinute:[timeComponents minute]];
[dateComponents setSecond:0.0];
NSDate *newDate = [calendar dateFromComponents:dateComponents];
NSDateComponentsと調整したり、日付を文字列に変換したりする必要はありません。カレンダーに日付を分の先頭に設定するように指示するだけです(時間/日付/週/…)
NSDate *date = self.datePicker.date;
[[NSCalendar currentCalendar] rangeOfUnit:NSCalendarUnitMinute
startDate:&date
interval:NULL
forDate:date];
//date now is set to the beginning of the minute -> seconds == 00
NSDate *currentDate = [datePicker date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];
NSString *Str_Seccond=[dateFormatter stringFromDate:currentDate];
Str_Seccond文字列では、秒を文字列形式で取得できます。
Swift 4バージョン:
let calendar = NSCalendar.current
let components = calendar.dateComponents([.year, .month, .day,
.hour, .minute],
from: yourDate)
let date = calendar.date(from: components)
NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"ss"];
NSLog(@"%@",[dateformatter stringFromDate:[datePicker date]]);
Swiftの場合:
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Year, .Month, .Day, .Hour, .Minute], fromDate: datePicker.date)
let date = calendar.dateFromComponents(components)