iOS時間戳記字串NSdate轉換demo

來源:互聯網
上載者:User

iOS時間戳記字串NSdate轉換demo

1 在項目中我們經常要做時間格式的轉換,以下是我封裝的NSDate+TimeCategory,希望協助到大家。

 

 

#import @interface NSDate (TimeCategory)/** *  字串轉NSDate * *  @param theTime 字串時間 *  @param format  轉化格式 如yyyy-MM-dd HH:mm:ss,即2015-07-15 15:00:00 * *  @return <#return value description#> */+ (NSDate *)dateFromString:(NSString *)timeStr                    format:(NSString *)format;/** *  NSDate轉時間戳記 * *  @param date 字串時間 * *  @return 返回時間戳記 */+ (NSInteger)cTimestampFromDate:(NSDate *)date;/** *  字串轉時間戳記 * *  @param theTime 字串時間 *  @param format  轉化格式 如yyyy-MM-dd HH:mm:ss,即2015-07-15 15:00:00 * *  @return 返回時間戳記的字串 */+(NSInteger)cTimestampFromString:(NSString *)timeStr                          format:(NSString *)format;/** *  時間戳記轉字串 * *  @param timeStamp 時間戳記 *  @param format    轉化格式 如yyyy-MM-dd HH:mm:ss,即2015-07-15 15:00:00 * *  @return 返回字串格式時間 */+ (NSString *)dateStrFromCstampTime:(NSInteger)timeStamp                     withDateFormat:(NSString *)format;/** *  NSDate轉字串 * *  @param date   NSDate時間 *  @param format 轉化格式 如yyyy-MM-dd HH:mm:ss,即2015-07-15 15:00:00 * *  @return 返回字串格式時間 */+ (NSString *)datestrFromDate:(NSDate *)date               withDateFormat:(NSString *)format;@end

#import NSDate+TimeCategory.hstatic NSDateFormatter *dateFormatter;@implementation NSDate (TimeCategory)+(NSDateFormatter *)defaultFormatter{    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{        dateFormatter = [[NSDateFormatter alloc]init];    });    return dateFormatter;}+ (NSDate *)dateFromString:(NSString *)timeStr                    format:(NSString *)format{    NSDateFormatter *dateFormatter = [NSDate defaultFormatter];    [dateFormatter setDateFormat:format];    NSDate *date = [dateFormatter dateFromString:timeStr];    return date;}+ (NSInteger)cTimestampFromDate:(NSDate *)date{   return (long)[date timeIntervalSince1970];}+(NSInteger)cTimestampFromString:(NSString *)timeStr                          format:(NSString *)format{    NSDate *date = [NSDate dateFromString:timeStr format:format];    return [NSDate cTimestampFromDate:date];}+ (NSString *)dateStrFromCstampTime:(NSInteger)timeStamp                  withDateFormat:(NSString *)format{    NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];    return [NSDate datestrFromDate:date withDateFormat:format];}+ (NSString *)datestrFromDate:(NSDate *)date               withDateFormat:(NSString *)format{    NSDateFormatter* dateFormat = [NSDate defaultFormatter];    [dateFormat setDateFormat:format];    return [dateFormat stringFromDate:date];}


 

2調用

#import NSDate+TimeCategory.h

 

 

- (IBAction)strToDate:(id)sender {    NSString *timeStr = @2015-07-15 15:00:00;    NSDate *date = [NSDate dateFromString:timeStr format:@yyyy-MM-dd HH:mm:ss];    NSLog(@字串轉NSDate:%@ -> %@,timeStr,date);}
- (IBAction)dateToStamp:(id)sender {        NSDate *date = [NSDate date];    NSInteger stamp = [NSDate cTimestampFromDate:date];    NSLog(@NSDate轉時間戳記:%@ ->%ld,date,stamp);}
- (IBAction)strToStamp:(id)sender {    NSString *timeStr = @2015-07-15 15:00:00;    NSInteger stamp = [NSDate cTimestampFromString:timeStr format:@yyyy-MM-dd HH:mm:ss];     NSLog(@字串轉時間戳記:%@ -> %ld,timeStr,stamp);}
- (IBAction)stampToStr:(id)sender {    NSInteger stamp = 1436943600;    NSString *timeStr = [NSDate dateStrFromCstampTime:stamp withDateFormat:@yyyy-MM-dd HH:mm:ss];     NSLog(@時間戳記轉字串:%ld ->%@,stamp,timeStr);}
- (IBAction)dateToStr:(id)sender {    NSDate *date = [NSDate date];    NSString *timeStr = [NSDate datestrFromDate:date withDateFormat:@yyyy-MM-dd HH:mm:ss];   NSLog(@NSDate轉字串:%@ ->%@,date,timeStr);}

分別得到以下結果

 

 

2015-07-13 15:02:07.662 TimeDemo[2780:89582] 字串轉NSDate2015-07-15 15:00:00 -> 2015-07-15 07:00:00 +0000

2015-07-13 15:02:14.653 TimeDemo[2780:89582] NSDate轉時間戳記:2015-07-13 07:02:14 +0000 ->1436770934

2015-07-13 15:02:20.077 TimeDemo[2780:89582] 字串轉時間戳記:2015-07-15 15:00:00 -> 1436943600

2015-07-13 15:02:22.957 TimeDemo[2780:89582] 時間戳記轉字串:1436943600 ->2015-07-15 15:00:00

2015-07-13 15:02:25.901 TimeDemo[2780:89582] NSDate轉字串:2015-07-13 07:02:25 +0000 ->2015-07-13 15:02:25



 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.