美文网首页
iOS 时间整理(时间戳)

iOS 时间整理(时间戳)

作者: 奔跑吧小蚂蚁 | 来源:发表于2019-03-08 19:24 被阅读4次

DateTimestamp.h

//
//  DateTimestamp.h
//  WMBTC
//
//  Created by 智创 on 2019/3/8.
//  Copyright © 2019年 智创. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface DateTimestamp : NSObject

/**
 获取当前时间戳有两种方法(以秒为单位)
 
 @return 时间戳
 */
+(NSString *)getNowTimeTimestamp1;

/**
 将某个时间转化成 时间戳(秒)
 
 @param formatTime 时间
 @param format 时间的格式
 @return 时间c戳
 */
+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format;

/**
 
 将某个 (秒)时间戳转化成 时间
 注意:时间戳为13位时 为“毫秒”时间戳 为10位时为“秒”时间戳
 @param timeString 时间
 
 @return 时间
 */
+ (NSString *)timeWithTimeIntervalString:(NSString *)timeString andFormatter:(NSString *)format;

@end

NS_ASSUME_NONNULL_END

DateTimestamp.m

//
//  DateTimestamp.m
//  WMBTC
//
//  Created by 智创 on 2019/3/8.
//  Copyright © 2019年 智创. All rights reserved.
//

#import "DateTimestamp.h"

@implementation DateTimestamp

/**
 获取当前时间戳有两种方法(以秒为单位) (包含时区的设置)

 @return 时间戳
 */
+(NSString *)getNowTimeTimestamp{
    
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
    
    //设置时区,这个对于时间的处理有时很重要
    
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
    
    [formatter setTimeZone:timeZone];
    
    NSDate *datenow = [NSDate date];//现在时间,你可以输出来看下是什么格式
    
    NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]];
    
    return timeSp;
    
}

/**
 将某个时间转化成 时间戳(秒)

 @param formatTime 时间
 @param format 时间的格式
 @return 时间c戳
 */
+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:format];
    //(@"YYYY-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
    [formatter setTimeZone:timeZone];
    NSDate* date = [formatter dateFromString:formatTime]; //------------将字符串按formatter转成nsdate
    //时间转时间戳的方法:
    NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue];
    NSLog(@"将某个时间转化成 时间戳&&&&&&&timeSp:%ld",(long)timeSp); //时间戳的值
    return timeSp;
    
}

/**
 将某个 (秒)时间戳转化成 时间
 注意:时间戳为13位时 为“毫秒”时间戳 为10位时为“秒”时间戳
 @param timeString 时间

 @return 时间
 */
+ (NSString *)timeWithTimeIntervalString:(NSString *)timeString andFormatter:(NSString *)format
{
    // 格式化时间
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    formatter.timeZone = [NSTimeZone timeZoneWithName:@"shanghai"];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:format];
    //此时默认时间戳为秒来处理,即10位数的秒时间戳 如果为毫秒则除1000
    NSDate* date = [NSDate dateWithTimeIntervalSince1970:[timeString doubleValue]];
    // 如果时间戳为毫秒值转化为秒
//    NSDate* date = [NSDate dateWithTimeIntervalSince1970:[timeString doubleValue]/ 1000.0];
    NSString* dateString = [formatter stringFromDate:date];
    return dateString;
}

@end

相关文章

  • iOS 时间整理(时间戳)

    DateTimestamp.h DateTimestamp.m

  • iOS 时间 时间戳

    时间在线转化:http://tool.chinaz.com/Tools/unixtime.aspx 1.日期格式转...

  • iOS 时间戳

    引言 iOS开发过程中会遇到很多时间转的问题。例如:当服务器端给我们一个时间戳的时候,我们需要把它转化成具体的时间...

  • iOS 时间戳

    背景: 在App的开发中,会遇到一些要计算时间差的问题,比如:在友盟统计的列子里面,要统计一个页面从创建到销毁的时...

  • iOS 时间戳

    NSDate 1.NSDate对象用来表示一个具体的时间点; 2.NSDate是一个类簇。我们所使用的NSDate...

  • iOS 获取时间字符串与时间戳

    获取当前时间 获取当前时间戳 时间戳转时间 字符串转时间戳 注意:iOS 返回的时间戳单位是秒。

  • iOS 时间戳、时间转换

    参考文档1:iOS时间类型转换和各种数据类型进行转换 参考文档2:iOS开发中的时间与日期(上) 转换工具:时间戳...

  • iOS时间戳转时间

    #pragma mark 时间戳转时间 - (NSString *)dateStr:(NSString *)tim...

  • 时间戳转时间 - iOS

    //时间戳转时间+ (NSString)getDateStringWithDate:(NSString)dataStr{

  • iOS时间戳转时间

    NSString*orderDate = @"1489373937000"; [self timestampSwi...

网友评论

      本文标题:iOS 时间整理(时间戳)

      本文链接:https://www.haomeiwen.com/subject/ubsdpqtx.html