12/08/2018, 10:16
Format date time bằng NSDateFormatter
NSDateFormatter Khai báo NSDateFormatter NSDateFormatter * formatter = [ NSDateFormatter new ] ; [ formatter setLocale : [ NSLocale systemLocale ] ] ; [ formatter setTimeZone : [ NSTimeZone timeZoneWithAbbreviation : @"VNT" ] ] ; [ formatter setLocale : ...
NSDateFormatter
Khai báo NSDateFormatter
NSDateFormatter *formatter = [NSDateFormatter new]; [formatter setLocale:[NSLocale systemLocale]]; [formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"VNT"]]; [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; [formatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]]; [formatter setDateFormat:@"hh:mm"];
Sau khi sử dụng đoạn code trên, output sẽ là giờ-phút có định dạng 12h, chứ ko phải là định dạng 24h như mong muốn.
Nguyên nhân là setting NSLocale bị sai ? hay là do NSTimeZone có vấn đề ?
Thực ra, lý do là hh sẽ trả lại thời gian theo định dạng 12h, còn HH sẽ trả lại thời gian theo định dạng 24h