iPhoneのパラメータとして月の最終月の最終月を取得する方法
-
12-12-2019 - |
質問
iPhoneアプリで指定された月の最後の日を取得したいです。誰かがこれをどのように達成するのかを教えてください。私はstackoverflow上でいくつかの解決策を見ましたが、彼らはただ月の最後の日を与えます。
ありがとう。
更新:
+(NSString*)getLastDateOfMonth:(NSString *)monthYearString {
//NSString *inputDate = [NSString stringWithFormat:@"%@ %@",@"01",monthYearString];
NSString *inputDate = [NSString stringWithFormat:@"%@ %@",@"01",@"May 2012"];
NSLog(@"Input date:- %@",inputDate);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd MMM yyyy"];
NSDate *date = [dateFormatter dateFromString:inputDate];
NSCalendar *gregCalendar=[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components=[gregCalendar components:NSMonthCalendarUnit|NSYearCalendarUnit fromDate:date];
NSInteger month=[components month];
NSInteger year=[components year];
if (month==12) {
[components setYear:year+1];
[components setMonth:1];
}
else {
[components setMonth:month+1];
}
[components setDay:1];
NSDate *lastDate = [[gregCalendar dateFromComponents:components] dateByAddingTimeInterval:0];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc]init];
[outputFormatter setDateFormat:@"MM/dd/yyyy"];
NSString *lastDateOfMonth = [outputFormatter stringFromDate:lastDate];
return lastDateOfMonth;
}
.
このコードを使用する場合は、次のようにコンソールで誤った出力を表示しています。
Input date:- 01 May 2012
LAst DAte in Month:- 06/01/2012
. 解決
この関数を使用してそれをすることができます。 -
NSDate currDate=[NSDate date];
NSDate *getLastDateMonth(NSDate *currDate)
{
NSCalendar *gregCalendar=[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components=[gregCalendar components:NSMonthCalendarUnit|NSYearCalendarUnit fromDate:currDate];
NSInteger month=[components month];
NSInteger year=[components year];
if (month==12) {
[components setYear:year+1];
[components setMonth:1];
}
else {
[components setMonth:month+1];
}
[components setDay:1];
return [[gregCalendar dateFromComponents:components] dateByAddingTimeInterval:0];
}
. 所属していません StackOverflow