标签:ios objective-c
在日常的开发中经常需要NSDate类型时间与NSString字符串类型时间进行相互转换,整理了一下NSDateFormatter 格式化参数,以及写了一个NSDate的分类方便在开放中使用。
NSDateFormatter 格式化参数如下:
G: 公元时代,例如AD元年
yy: 年的后两位
yyyy: 完整年
MM: 月,显示1~12
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份简写,如 Janualy
dd: 日,显示2为数,如 04
d: 日, 1-2位显示,如 4
EEE: 简写星期几,如 Sun
EEEE: 全写星期几,如 Sunday
aa: 上下午, AM/PM
H: 时, 1-2位显示, 24小时制, 0~23
HH: 时, 2位显示, 24小时制, 00~23
K: 时, 1-2位显示, 12小时制, 0~12
KK: 时, 2位显示, 12小时制, 00~12
m: 分, 1-2位显示, 0~59
mm: 分, 2为显示, 00~59
s: 秒, 1-2位显示, 0~59
ss: 秒, 2为显示, 00~59
S: 毫秒, 1-3为显示, 0~999
SSS: 毫秒, 3位显示, 000~999
NSDate分类 NSDate (Addition)
NSDate+Addition.h 文件
#import <Foundation/Foundation.h> @interface NSDate (Addition) /** * 获取字符串类型时间, 时间格式: yyyyMMddHHmmss * * @param date NSDate类型时间 * * @return 字符串类型时间 */ + (NSString *)stringFromDate:(NSDate *)date; /** * 获取字符串类型时间 * * @param date NSDate类型时间 * @param format 时间格式 * * @return 字符串类型时间 */ + (NSString *)stringFromDate:(NSDate *)date format:(NSString *)format; /** * 字符串时间转化为NSDate时间, 字符串默认格式为:yyyyMMddHHmmss * * @param string 字符串时间 * * @return NSDate时间 */ + (NSDate *)dateFromString:(NSString *)string; /** * 字符串时间转化为NSDate时间 * * @param string 字符串时间 * @param format 时间格式 * * @return NSDate时间 */ + (NSDate *)dateFromString:(NSString *)string format:(NSString *)format; /** * 获得给定日期的月份 */ + (NSString *)getMonthFromDate:(NSDate *)date; /** * 获得给定日期的星期 */ + (NSString *)getWeekdayFromDate:(NSDate *)date; @end
NSDate+Addition.m 文件
#import "NSDate+Addition.h" @implementation NSDate (Addition) + (NSString *)stringFromDate:(NSDate *)date { return [self stringFromDate:date format:nil]; } + (NSString *)stringFromDate:(NSDate *)date format:(NSString *)format { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; if (!format) { format = @"yyyyMMddHHmmss"; } fmt.dateFormat = format; return [fmt stringFromDate:date]; } + (NSDate *)dateFromString:(NSString *)string { return [self dateFromString:string format:nil]; } + (NSDate *)dateFromString:(NSString *)string format:(NSString *)format { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; if (!format) { format = @"yyyyMMddHHmmss"; } return [fmt dateFromString:string]; } + (NSString *)getMonthFromDate:(NSDate *)date { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat = @"MMM"; return [fmt stringFromDate:date]; } + (NSString *)getWeekdayFromDate:(NSDate *)date { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat = @"EEE"; return [fmt stringFromDate:date]; } @end
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:ios objective-c
原文地址:http://blog.csdn.net/u013794726/article/details/47207383