iOS --时间戳相关

时间戳的处理。

格式转换如: 2016-8-8 9:48:56 ———-> 1470736188

h文件中暴露的接口有:
@interface DateManager : NSObject

/**把时间转为字符串*/
+ (NSString *)transDate:(NSDate *)date;

/**把时间戳转为格式时间 */
+ (NSString *)transDateStr:(NSString *)DateStr;

/**把格式时间转为时间戳*/
+ (NSString *)transFormateDate:(NSString *)formateDate;

@end
m文件中具体实现如下:
#import "DateManager.h"

@implementation DateManager

+ (NSString *)transDate:(NSDate *)date{
    NSDateFormatter *formate = [[NSDateFormatter alloc]init];
    [formate setDateFormat:@"YYYY-MM-hh HH:mm:ss"];
    NSString * dateStr = [formate stringFromDate:date];
    return dateStr;
}


/**把时间戳转为格式时间 */
+ (NSString *)transDateStr:(NSString *)DateStr{
    NSString * formateDate = nil;//格式时间

    NSTimeInterval time=[DateStr doubleValue];
    NSDate*detaildate = [NSDate dateWithTimeIntervalSince1970:time];

    //formateDate = [NSString stringWithFormat:@"%@",detaildate];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //设定时间格式 HH与hh的区别是:24小时制和12小时制
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    formateDate = [dateFormatter stringFromDate: detaildate];
    return formateDate;
}


/**把格式时间转为时间戳*/
+ (NSString *)transFormateDate:(NSString *)formateDate{
    NSString * DateStr = nil;//时间戳

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //设定时间格式
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

      NSDate *datenow =[dateFormatter dateFromString:formateDate];
      NSTimeZone *zone = [NSTimeZone systemTimeZone];
      NSInteger interval = [zone secondsFromGMTForDate:datenow];

      NSDate *localeDate = [datenow  dateByAddingTimeInterval: interval];
      DateStr = [NSString stringWithFormat:@"%ld", (long)[localeDate timeIntervalSince1970]];
    return DateStr;
}
@end
测试调用
- (void)viewDidLoad {
    [super viewDidLoad]; 

//转时间戳为格式时间
    NSLog(@"dateForm =%@",[DateManager transDateStr:@"1396035591"]);

//转格式时间为时间戳
    NSDate *nowDate = [NSDate date];

//    NSString * dateStr = [DateManager transDate:nowDate];
//与上注释的语句相同
    NSDateFormatter *formate = [[NSDateFormatter alloc]init];
    [formate setDateFormat:@"YYYY-MM-hh HH:mm:ss"];
        NSString * dateStr = [formate stringFromDate:nowDate];

    NSLog(@"%@=%@",dateStr,[DateManager transFormateDate:dateStr]);
}
打印结果
dateForm =2014-03-29 03:39:51
2016-08-10 10:03:31=1470823411
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值