मैं अपने आईफोन ऐप में अपनी तिथि सेट करने के लिए NSDateFormatter का उपयोग कर रहा हूं, और तिथियां ठीक से दिखाई दे रही हैं। हालांकि, मुझे सभी लोकेशंस मिल रहे हैं (मेरा ऐप 12 अलग-अलग भाषाओं तक का समर्थन करता है) जो सेटडेटेटफॉर्मैट के माध्यम से निर्दिष्ट दिनांक प्रारूप में चिपक रहा है। आदर्श रूप से, मैं चाहता हूं कि तिथि प्रारूप प्रारूप के प्रारूप में उपयोगकर्ता के लिए क्षेत्रीय सेटिंग के रूप में दिखाई दे, मेरे प्रारूप का पालन करने के बजाय (जो अंग्रेजी के लिए अच्छा काम करता है लेकिन अन्य लोकेशंस के लिए प्राकृतिक नहीं हो सकता है)।NSDateFormatter को लोकेल-विशिष्ट दिनांक कैसे प्रदर्शित करें?
+ (NSString *)localizedStringFromDate:(NSDate *)date
dateStyle:(NSDateFormatterStyle)dateStyle
timeStyle:(NSDateFormatterStyle)timeStyle;
तो जैसा
:
self.creationDate.text = [NSDateFormatter localizedStringFromDate:creationTimeStamp
dateStyle:NSDateFormatterMediumStyle
timeStyle:NSDateFormatterShortStyle];
कि तुम उत्पादन आप 'देना चाहिए
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; [dateFormatter setDateFormat:@"MMMM dd, yyyy kk:mm:ss"]; self.creationDate.text = [dateFormatter stringFromDate:creationTimeStamp];
यह समाधान -localizedStringFromDate API का उपयोग करने से बेहतर है क्योंकि -localizedStringFromDate द्वारा लौटाई गई स्ट्रिंग टाइमज़ोन कारक का सामना करेगी और कभी-कभी कुछ क्षेत्रों के लिए दिनांक/समय अप्रासंगिक होगा। टाइमज़ोन घटक को निकालने के लिए, हमें इसे अतिरिक्त रूप से करने की आवश्यकता है: [dateFormatter setTimeZone: [NSTimeZone timeZoneForSecondsFromGMT: 0]]; –