4
วิธีที่ดีที่สุดในการจัดการกับ NSDateFormatter locale“ feechur” คืออะไร?
ดูเหมือนว่าNSDateFormatterมี "คุณสมบัติ" ที่กัดคุณโดยไม่คาดคิด: หากคุณทำการดำเนินการรูปแบบ "คงที่" อย่างง่ายเช่น: NSDateFormatter* fmt = [[NSDateFormatter alloc] init]; [fmt setDateFormat:@"yyyyMMddHHmmss"]; NSString* dateStr = [fmt stringFromDate:someDate]; [fmt release]; จากนั้นก็ใช้งานได้ดีในสหรัฐอเมริกาและตำแหน่งที่ตั้งส่วนใหญ่จนกระทั่ง ... ใครบางคนที่มีโทรศัพท์ตั้งค่าเป็น 24 ชั่วโมงตั้งค่าสวิตช์ 12/24 ชั่วโมงในการตั้งค่าเป็น 12 จากนั้นด้านบนจะเริ่มทำการตรึง "AM" หรือ "PM" จุดสิ้นสุดของสตริงผลลัพธ์ (ดู, เช่น, NSDateFormatter, ฉันกำลังทำอะไรผิดหรือเป็นบั๊ก? ) (และดูhttps://developer.apple.com/library/content/qa/qa1480/_index.html ) เห็นได้ชัดว่า Apple ประกาศว่า "BAD" ไม่ดีเท่าที่ออกแบบมาและพวกเขาจะไม่แก้ไข การหลีกเลี่ยงนั้นดูเหมือนจะกำหนดสถานที่ของตัวจัดรูปแบบวันที่สำหรับภูมิภาคเฉพาะซึ่งโดยทั่วไปคือสหรัฐอเมริกา แต่นี่มันค่อนข้างยุ่งเหยิง: NSLocale *loc …