NSDate那点事(时间处理封装)

进行项目开发,很多时候会需要处理时间的问题。比如常处理的有时间与时间戳的相互转换、时间NSDate的格式化为字符串类型,字符串转换为NSDate类型等。就一些简单的常用的时间处理进行封装。
直接撸代码:.h文件

/**
 *
 * 此类用于时间的处理。具体使用看以下类方法的注释。。
 *
 * Created by Sheffi on 16/10/17。
 *
 */

#import <Foundation/Foundation.h>

@interface processingTime : NSObject
/**
 *  时间转换为时间戳方法
 *
 *  @param date 要转换的时间(NSDate的类型)
 *
 *  @return 时间戳字符串
 */
+(NSString *)timeStampWithDate:(NSDate *)date;
/**
 *  时间戳转换为时间字符串的方法
 *
 *  @param timeStamp 时间戳
 *  @param formatString 格式化的格式 例如:@"yyyy-MM-dd HH:mm"
 *
 *  @return 时间字符串
 */
+(NSString *)dateStringWithTimeStamp:(NSString *)timeStamp andFormatString:(NSString *)formatString;
/**
 *  格式化NSDate
 *
 *  @param date NSDate类型的时间
 *  @param formatString 格式化的格式 例如:@"yyyy-MM-dd HH:mm"
 *
 *  @return 格式化后的时间字符串
 */
+(NSString *)dateStringWithDate:(NSDate *)date andFormatString:(NSString *)formatString;
/**
 *  获取当前时间并进行格式化
 *
 *  @param formatString 格式化的格式 例如:@"yyyy-MM-dd HH:mm"
 *
 *  @return 返回格式化后的当前时间字符串
 */
+(NSString *)getCurrentDateWithFormatString:(NSString *)formatString;
/**
 *  时间字符串转换为NSDate类型
 *
 *  @param dateString 时间字符串
 *  @param formatString 格式化的格式,注意:这里的格式一定要和传入的时间字符串的格式一致,否则无法进行转换
 *
 *  @return 转换后的时间(NSDate类型)
 */
+(NSDate *)dateWithDateString:(NSString *)dateString andFormatString:(NSString *)formatString;
@end

.m文件具体实现

#import "processingTime.h"

@implementation processingTime
//NSDate转时间戳
+(NSString *)timeStampWithDate:(NSDate *)date{
    NSString *timeStamp = [NSString stringWithFormat:@"%ld",(long)[date timeIntervalSince1970]];
    return timeStamp;
}
//时间戳转换为时间方法
+(NSString *)dateStringWithTimeStamp:(NSString *)timeStamp andFormatString:(NSString *)formatString{
    NSString *dateString;
    NSDate *tmpDate = [NSDate dateWithTimeIntervalSince1970:[timeStamp floatValue]];
    NSDateFormatter *format=[[NSDateFormatter alloc] init];
    [format setDateFormat:formatString];
    dateString = [format stringFromDate:tmpDate];
    return dateString;
}
//格式化NSDate
+(NSString *)dateStringWithDate:(NSDate *)date andFormatString:(NSString *)formatString{

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:formatString];
    NSString *dateString = [dateFormatter stringFromDate:date];
    NSLog(@"dateString:%@",dateString);
    return dateString;
}
//获取当前时间并进行格式化
+(NSString *)getCurrentDateWithFormatString:(NSString *)formatString{
    NSDate *currentDate = [NSDate date];//获取当前时间,日期
    NSString *currentDateString = [self dateStringWithDate:currentDate andFormatString:formatString];
    return currentDateString;
}
//将时间字符串转换成NSDate格式
+(NSDate *)dateWithDateString:(NSString *)dateString andFormatString:(NSString *)formatString{
    NSDate *tmpDate;
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:formatString];
    tmpDate = [dateFormatter dateFromString:dateString];
    return tmpDate;
}
@end

以上如有错误,请留言指出。感激不尽。

微信公众号:不靠谱程序猿 微信公众号:Sheffi_Programmer
Github:Sheffi(https://github.com/goingmyway1
新浪微博:Sheffi567
掘金:Sheffi(http://gold.xitu.io/user/57c13791128fe1005fc0b245

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值