NSDate和NSString相互转换

来源:互联网 发布:淘宝商城床 编辑:程序博客网 时间:2024/05/21 19:48

在日常的开发中经常需要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


1 0
原创粉丝点击