iOS 時間 時間戳

時間在線轉化:http://tool.chinaz.com/Tools/unixtime.aspx

1.日期格式轉字符串

//日期格式轉字符串
- (NSString *)dateToString:(NSDate *)date withDateFormat:(NSString *)format
{

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    
    [dateFormatter setDateFormat:format];
    
    NSString *strDate = [dateFormatter stringFromDate:date];
    
    return strDate;
}

2.//字符串轉日期格式

//字符串轉日期格式
- (NSDate *)stringToDate:(NSString *)dateString withDateFormat:(NSString *)format
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    
    [dateFormatter setDateFormat:format];
    
    NSDate *date = [dateFormatter dateFromString:dateString];
    
    NSDate *mmm = [self worldTimeToChinaTime:date];
    
    return mmm;
}

//將世界時間轉化為中國區時間
- (NSDate *)worldTimeToChinaTime:(NSDate *)date
{
    NSTimeZone *timeZone = [NSTimeZone systemTimeZone];
    
    NSInteger interval = [timeZone secondsFromGMTForDate:date];
    
    NSDate *localeDate = [date  dateByAddingTimeInterval:interval];
    
    return localeDate;
}

3.//date字符串轉時間戳

//date字符串轉時間戳
- (NSInteger)dateStrToTimeInterval:(NSString *)dataStr withDateFormat:(NSString *)format
{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    
    [formatter setDateFormat:format];
    
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
    
    [formatter setTimeZone:timeZone];
    
    NSDate* date = [formatter dateFromString:dataStr];
    
    //時間轉時間戳的方法:
    
    NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue];
    
    return timeSp;
}

舉例:

    
    NSDate *nowDate = [NSDate date];
    
    NSLog(@"----初始日期:%@-----",nowDate);

    NSString *str1 = [self dateToString:nowDate withDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    NSLog(@"----當前日期:%@-----",str1);
    
    NSDate *date = [self stringToDate:str1 withDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    
    NSLog(@"----字符日期:%@-----",date);

    NSInteger inter = [self dateStrToTimeInterval:str1 withDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    
    NSLog(@"-----時間戳:%ld-----",inter);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容