0

あなたがうまくやってくれることを願っています。

ラベルに日付 (2012 年 11 月 14 日) があります。

Label.text returns the string "November 14, 2012"

今私が欲しいのは、この文字列をに変換することですNSDate。このコードスニペットを使用してそれを行いました。

formator.dateStyle=NSDateFormatterShortStyle;
formator.dateFormat=@"yyyy-MM-dd";
NSString *temp=[NSString stringWithFormat:@"%@",[formator stringFromDate:myDatePicker.date]];
NSLog(@"%@",temp);
NSDate *myDate=[formator dateFromString:temp];
NSLog(@"%@",myDate);

myDatePicker.date出力= November 14,2012

temp's出力= 2012-11-14

myDate's出力= 2012-06-13 19:00:00 +0000

myDateまた、時間と GMT の設定が表示され、日付が 1 日遅れます。つまり、14 ではなく 13 になります。日付だけが必要です。

私の要件は、myDate 2012-11-14の出力を取得することです

皆様のご協力に感謝いたします。

4

1 に答える 1

1

これを試して、私に知らせてください:

NSDate *dateTemp = [[NSDate alloc] init];
NSDateFormatter *dateFormat1 = [[NSDateFormatter alloc] init];
NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc] init];

[dateFormat1 setDateFormat:@"MM/dd/yy"];
[dateFormat2 setDateFormat:@"yyyy-MM-dd"];

dateTemp = [dateFormat1 dateFromString:newInvoice.date];
newDate.date = [dateFormat2 stringFromDate:dateTemp];

これは役に立ちます:

-(NSDate *)dateWithOutTime:(NSDate *)datDate
    if( datDate == nil ) {
        datDate = [NSDate date];
    }
    NSDateComponents* comps = [[NSCalendar currentCalendar] components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:datDate];
    return [[NSCalendar currentCalendar] dateFromComponents:comps];
}
于 2012-11-14T04:48:49.560 に答える