iOS macOS字符串(日期)样式输出
一般的日期输出是NSData -> NSString
// 实例化NSDateFormatter NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // 设置日期格式 [formatter setDateFormat:@"yyyy-mm-dd HH:mm:ss"]; // 获取当前日期 NSDate *currentDate = [NSDate date]; NSString *currentDateString = [formatter stringFromDate:currentDate]; NSLog(@"%@", currentDateString);
一般的日期输出是NSString -> NSString 20230610 ->2023/06/10
modifytime.name = TBLocalizedString(@"数据更新日期"); modifytime.value = ins.modifytime == nil ? @"":[NSString stringWithFormat:@"%@",[ins.modifytime dateFromString:ins.modifytime fromFormat:@"yyyy-MM-dd HH:mm:ss" to:@"yyyy/MM/dd HH:mm"]]; // 将时间字符串 转换成 特定的时间字符串 - (NSString *)dateFromString:(NSString *)string fromFormat:(NSString *)from to:(NSString *)to{ NSDateFormatter *format; format = [[NSDateFormatter alloc] init]; [format setDateFormat:from]; // 从string 中 获取date NSDate *time = [format dateFromString:string]; //从新设置格式 [format setDateFormat:to]; // 从 date 中获取 string NSString *time_M = [format stringFromDate:time]; return time_M; }
将时间字符串转换为日期
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // 要转换的日期字符串 NSString *dateString = @"2011-05-03 23:11:40"; // 设置为UTC时区 // 这里如果不设置为UTC时区,会把要转换的时间字符串定为当前时区的时间(东八区)转换为UTC时区的时间 NSTimeZone *timezone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"]; NSDate *someDay = [formatter dateFromString:dateString]; NSLog(@"%@", someDay);
时间格式
G: 公元时代,例如AD公元 yy: 年的后2位 yyyy: 完整年 MM: 月,显示为1-12,带前置0 MMM: 月,显示为英文月份简写,如 Jan MMMM: 月,显示为英文月份全称,如 Janualy dd: 日,2位数表示,如02 d: 日,1-2位显示,如2,无前置0 EEE: 简写星期几,如Sun EEEE: 全写星期几,如Sunday aa: 上下午,AM/PM H: 时,24小时制,0-23 HH: 时,24小时制,带前置0 h: 时,12小时制,无前置0 hh: 时,12小时制,带前置0 m: 分,1-2位 mm: 分,2位,带前置0 s: 秒,1-2位 ss: 秒,2位,带前置0 S: 毫秒 Z: GMT(时区)