字符串转换成时间格式,并与本时区当前时间,比较大小。

本文介绍了如何将字符串转换为时间、获取本地当前时间、比较时间大小、时间转换时区以及获取未来日期的方法,并提供了解决方案及示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用到了时间这方面的三个功能简单地总结下:

第一:把字符串转换成时间

        NSString *createStr = @"1753-01-01 00:00:00";

            NSDateFormatter* formater = [[NSDateFormatteralloc]init];

            [formatersetDateFormat:@"yyyy-MM-dd HH:mm:ss"];

            NSDate* date = [formaterdateFromString:createStr];


第二:获得本市区的当前时间

//[NSDatedate]获取本初子午线现在的时间

//获得时区时间

         NSDate *nowDate = [self getNowDateFromatAnDate:[NSDatedate]];


第三:比较两个时间的大小

        NSTimeInterval nowTime = [nowDatetimeIntervalSince1970];

          NSTimeInterval createTime = [ [selfgetNowDateFromatAnDate:date] timeIntervalSince1970];

          //NSTimeInterval 是double的 所以可以用于计算了。


第四:时间转换时区

- (NSDate *)getNowDateFromatAnDate:(NSDate *)anyDate

{

    //设置源日期时区

     NSTimeZone* sourceTimeZone = [NSTimeZonetimeZoneWithAbbreviation:@"UTC"];//GMT

    //设置转换后的目标日期时区

    NSTimeZone* destinationTimeZone = [NSTimeZonelocalTimeZone];

    //得到源日期与世界标准时间的偏移量

    NSInteger sourceGMTOffset = [sourceTimeZonesecondsFromGMTForDate:anyDate];

    //目标日期与本地时区的偏移量

    NSInteger destinationGMTOffset = [destinationTimeZonesecondsFromGMTForDate:anyDate];

    //得到时间偏移量的差值

    NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;

    //转为现在时间

    NSDate* destinationDateNow = [[NSDatealloc]initWithTimeInterval:intervalsinceDate:anyDate];

    return destinationDateNow;

}


第五:获取今天之后的日期(明天为例)

    //获得毫秒

    NSTimeInterval createTime = [Date timeIntervalSince1970];

    //加到明天-24为小时-3600为秒数

    createTime = createTime+(24*3600);

    //把毫秒转换成日期

    newDate = [NSDate dateWithTimeIntervalSince1970:createTime];


如果有什么错误欢迎私信我,如果有更好地方法也一定要告诉我哦~

感谢你的观看,学以致用更感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值