ios - 是否可以为日期设置多个 "setDateStyle"?

标签 ios nsdate

是否可以为日期设置多个“setDateStyle”?像“NSDateFormatterShortStyle,NSDateFormatterMediumStyle”因为我需要输入两种类型的日期并且需要接受两种类型。可能吗?

最佳答案

您可以尝试将 NSDataDetectorNSTextCheckingTypeDate 一起使用,它可以识别许多日期格式。

NSString *dateText = @"march 31, 1945 12:34 pm";

NSError *error;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeDate error:&error];
NSTextCheckingResult *result = [detector firstMatchInString:dateText options:0 range:NSMakeRange(0, dateText.length)];
NSDate *date = result.date;

NSString *reformattedDate = [NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterFullStyle timeStyle:NSDateFormatterFullStyle];
NSLog(@"reformattedDate: %@", reformattedDate);

NSLog 输出:

reformattedDate date: Saturday, March 31, 1945 at 12:34:00 PM

关于ios - 是否可以为日期设置多个 "setDateStyle"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934115/

相关文章:

objective-c - NSTime : Why [NSDateComponent date] returns nil here?

macos - NSDateFormatter : set a minimum date valid

ios - 在 iOS 中计算 hh.mm.ss 格式的时间间隔

带有 4 位数年份的 iphone 短日期

ios - 操纵核心数据中的关系

ios - 带有 UIViewRepresentable 的 SwiftUI 自定义文本字段 ObservableObject 和推送 View 的问题

ios - XCode 8 通用应用 : IB not showing all device resolutions

iphone - 使用ios中边长的不规则多边形的面积

android - React Native 中的 Picker 和 PickerIOS 错误

iphone - 设备上的NSdata长度崩溃