UIDatePicker va kun tanlash

Uidatepicker foydalanishga harakat qilmoqda. tarixchining o'zgaruvchan qiymati o'zgarganda usulni ishga soladi. bu sana qiymatini o'tadi, lekin men o'sha kuni urinib ko'rsangiz, mening kunlarim qismi goofy bo'ladi. joriy oydan boshlab emas, balki yil boshidan beri kunlar sonini qaytaradi. shuning uchun 3 fevral o'rniga 3-chi aytaman, 34 marta olaman.

-(IBAction)datePickerValueChanged: (id)sender;
{        
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"YYYY-MM-DD"];

    self.date = [dateFormatter stringFromDate:[sender date]];
    NSLog(@"date: %@", [dateFormatter stringFromDate:[sender date]]);

    [dateFormatter release];
}

12 apreldan boshlab:

2011-10-27 14:22:41.939 Satshot[12789:40b] date02: 2011-04-102

Men tarixni formatlashtiruvchimga sababchi deb o'ylayman, lekin nima uchun buni tushunmayapman.

2

2 javoblar

You are using the wrong format specifier. You need "yyyy-MM-dd"

http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns

Yangilash, YYYY va DD ham noto'g'ri. Rahmat @ jrturton.

4
qo'shib qo'ydi
DD ni ko'rdingiz va YYYYni o'tkazib yubormadingiz, YYYY ni ko'rdim va DDni o'tkazib yubordim!
qo'shib qo'ydi muallif jrturton, manba

Ma'lumotlarni formatlash uchun qo'llanma :

Yilni yil komponentini belgilash uchun ishlatadi. Keng tarqalgan xato - ulardan foydalanish   YYYY. yyyy kalendar yilini belgilaydi, YYYY esa yilni belgilaydi   ("Yil haftasi"), ISO yillik haftalik taqvimida ishlatilgan. Eng ko'p   yyyy va YYYY hollari bir xil sonda bo'ladi, lekin ular bo'lishi mumkin   turli xil. Odatda kalendar yilidan foydalaning.

Bundan tashqari, DD bo'lishi kerak dd .

Nima uchun siz o'zingizning qiymatingizni ichki darajada ushlab turishingiz kerak?

Shuni ham unutmangki, tarix formatlashtiruvchi vositani yaratish qimmat ishlovdir, foydalanuvchi qayerga o'tayotgani kabi qabul qiluvchi ko'rinishidagi qiymatni bir necha marta bir necha marta chaqirish mumkin. Formatterdan foydalansangiz, uni keshlash.

3
qo'shib qo'ydi
shuning uchun formatterni viewDidLoad-ga o'rnatiladigan oniy o'zgaruvchiga aylantirishni taklif qilasizmi? Yoki valueChanged yangi tarixni saqlab qo'ying va qachon foydalanuvchilar "tanlash" ni bosib, u erda formatlash moslamasi mavjud? asosan, formatlashtiruvchining o'zgaruvchan qiymati/qiymati o'zgarganda har doim ajratilishi mumkinmi?
qo'shib qo'ydi muallif Padin215, manba
salqin, bu o'zgarishlarni ko'rib chiqaman, rahmat.
qo'shib qo'ydi muallif Padin215, manba
Aslida self.date NSString o'rniga NSDate bo'lishi kerakligini tavsiya qilaman va aslida, bu formatlovchi misol o'zgaruvchisi bo'lgan AND qiymati bilan biror narsani bajaring, shuning uchun siz uni har doim yaratmaysiz va yo'q qilasiz.
qo'shib qo'ydi muallif jrturton, manba