目前只实现了三个类方法,

第一个获取当前时间,以字符创的形式返回,例如"201606161532"

第二个以当前时间与给定时间的时间差(秒)

第三个以当前时间与给定时间的时间差(分)

.h文件

//
// TimeHelper.h
// ZiPeiYi
//
// Created by 刘成利 on 16/6/14.
// Copyright © 2016年 YouXianMing. All rights reserved.
// #import <Foundation/Foundation.h> @interface TimeHelper : NSObject + (NSString *)getCurrentTimeString; + (NSString *)secondsFromTimeString:(NSString *)timeString; + (NSString *)minuteFromTimeString:(NSString *)timeString; @end

.m文件

//
// TimeHelper.m
// ZiPeiYi
//
// Created by 刘成利 on 16/6/14.
// Copyright © 2016年 YouXianMing. All rights reserved.
// #import "TimeHelper.h" @implementation TimeHelper + (NSString *)getCurrentTimeString{ NSDate* nowTime = [NSDate date]; //转换时间格式 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];//格式化 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString* tempString1 = [dateFormatter stringFromDate:nowTime]; NSDate* date = [dateFormatter dateFromString:tempString1]; //转换时间格式 NSDateFormatter*df = [[NSDateFormatter alloc]init]; //格式化 [df setDateFormat:@"yyyyMMddHHmmss"]; [df setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"]]; return [df stringFromDate:date]; } + (NSString *)secondsFromTimeString:(NSString *)timeString{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];//设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDate date];
//设置一个字符串的时间
NSMutableString *datestring = [NSMutableString stringWithFormat:@"%@",timeString];
//注意 如果20141202052740必须是数字,如果是UNIX时间,不需要下面的插入字符串。
[datestring insertString:@"-" atIndex:];
[datestring insertString:@"-" atIndex:];
[datestring insertString:@" " atIndex:];
[datestring insertString:@":" atIndex:];
[datestring insertString:@":" atIndex:]; NSDateFormatter * dm = [[NSDateFormatter alloc]init];
//指定输出的格式 这里格式必须是和上面定义字符串的格式相同,否则输出空
[dm setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate * newdate = [dm dateFromString:datestring];
long dd = (long)[datenow timeIntervalSince1970] - [newdate timeIntervalSince1970]; return [NSString stringWithFormat:@"%ld", dd]; // if (dd/3600<1 && dd/60>1)
// {
// timeStr = [NSString stringWithFormat:@"%ld", dd/60];
// timeStr=[NSString stringWithFormat:@"%@分钟前", timeString];
// }
// if (dd/3600>1&&dd/86400<1)
// {
// timeStr = [NSString stringWithFormat:@"%ld", dd/3600];
// timeStr=[NSString stringWithFormat:@"%@小时前", timeString];
// }
// if (dd/86400>1)
// {
// timeStr = [NSString stringWithFormat:@"%ld", dd/86400];
// timeStr=[NSString stringWithFormat:@"%@天前", timeString];
// } } + (NSString *)minuteFromTimeString:(NSString *)timeString{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];//设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDate date];
//设置一个字符串的时间
NSMutableString *datestring = [NSMutableString stringWithFormat:@"%@",timeString];
//注意 如果20141202052740必须是数字,如果是UNIX时间,不需要下面的插入字符串。
[datestring insertString:@"-" atIndex:];
[datestring insertString:@"-" atIndex:];
[datestring insertString:@" " atIndex:];
[datestring insertString:@":" atIndex:];
[datestring insertString:@":" atIndex:];
NSLog(@"datestring==%@",datestring);
NSDateFormatter * dm = [[NSDateFormatter alloc]init];
//指定输出的格式 这里格式必须是和上面定义字符串的格式相同,否则输出空
[dm setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate * newdate = [dm dateFromString:datestring];
long dd = (long)[datenow timeIntervalSince1970] - [newdate timeIntervalSince1970]; return [NSString stringWithFormat:@"%ld", dd/]; }

个人使用的情况:

// 获取已存的时间字符串

NSString *lastTime = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastTime"];
    if (lastTime == nil || lastTime.length == 0) {
        return;
    }

// 计算与当前的时间差秒
    NSString *secondsString  = [TimeHelper secondsFromTimeString:lastTime];

int seconds = secondsString.intValue;
    if (seconds > 60) {

}

iOS开发——时间格式类的更多相关文章

  1. iOS 之 时间格式与字符串转换

    这个知识点涉及到三个类:NSDate.NSString,另外是一个最重要的类NSDateFormatter.它起到格式转换的作用,至于方法查看头文件就好了.时间格式注意下:yyyyMMddHHmmss

  2. 关于微信小程序iOS端时间格式兼容问题

    经过测试发现,当时间格式为 2018-08-08 08:00 ,需要将时间转为其他格式时,Android端转换成功,iOS端报错或是转为NaN 这是因为iOS端对符号‘ - ’不支持,也就是说iOS端 ...

  3. IOS --- 日期时间格式 更改

    1.怎样怎样将一个字符串如" 20110826134106"装化为随意的日期时间格式.以下列举两种类型:    NSString* string =@"201108261 ...

  4. IOS开发--常用工具类收集整理(Objective-C)(持续更新)

    前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...

  5. iOS 开发学习-类的创建与实现,与java语言的对比

    Person.h #import <Foundation/Foundation.h> @interface Person : NSObject { //在{}中定义属性(全局变量/实例变量 ...

  6. iOS开发值NSUserDefaults类概述

    NSUserDefaults类概述 NSUserDefaults类为和默认的系统进行交互提供了一个系统编程接口.默认的系统允许一个应用来定制它的行为以适应用户的喜好.例如,你可以允许用户去决定你的应用 ...

  7. iOS开发时间处理工具

    1.获取当前的时间 /** 获取当前的时间 */ +(NSString*)getCurrentTimes{ NSDateFormatter *formatter = [[NSDateFormatter ...

  8. ios开发缓存处理类NSCash类的了解与使用

    一:NSCash的基本了解 #import "ViewController.h" @interface ViewController ()<NSCacheDelegate&g ...

  9. iOS开发之资讯类App常用分类控件的封装与实现(CollectionView+Swift3.0+)

    今天博客中,我们就来实现一下一些常用资讯类App中常用的分类选择的控件的封装.本篇博客中没有使用到什么新的技术点,如果非得说用到了什么新的技术点的话,那么勉强的说,用到了一些iOS9以后UIColle ...

随机推荐

  1. Struts2常量的具体用法实例(一)

    XML代码: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC ...

  2. Codeforces Gym 100002 C "Cricket Field" 暴力

    "Cricket Field" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1000 ...

  3. osg通过glsl实现一个平面的水效果(法线贴图) 【转】

    转自 http://blog.sina.com.cn/s/blog_78ea87380101ehk3.html 此文实现一个简单的的水面效果,主要是法线贴图, 效果图如下:   此文分为三部分:ver ...

  4. 行规——::GetDC()和::ReleaseDC()配对

    1.今天向客户演示程序,不巧崩溃了.最后发现是使用了GetDC()后没有使用ReleaseDC()引起的. 2.最早听说GetDC()和ReleaseDC()是从前任带头码哥那里听说的,那时候仅仅用& ...

  5. [AngularJS] ngCloak

    The ngCloak directive is used to prevent the Angular html template from being briefly displayed by t ...

  6. 向linux内核加入系统调用新老内核比較

    2.6内核 1>改动linux-source-2.6.31/kernel/sys.c文件,在文件末尾加入系统响应函数.函数实现例如以下: asmlinkage int sys_mycall(in ...

  7. Java中for循环以及循环中标签

    1.第一种,通过迭代的方式 File[] listFiles = file.listFiles(); for (Iterator iterator = files.iterator(); iterat ...

  8. nginx 学习八 高级数据结构之基数树ngx_radix_tree_t

    1 nginx的基数树简单介绍 基数树是一种二叉查找树,它具备二叉查找树的全部长处:检索.插入.删除节点速度快,支持范围查找.支持遍历等. 在nginx中仅geo模块使用了基数树. nginx的基数树 ...

  9. xtrabackup原理1

    http://www.cnblogs.com/Amaranthus/archive/2014/08/19/3922570.html Percona XtraBackup User Manual 阅读笔 ...

  10. jQuery Mobile 连接外部连接或切换动画

    jQuery Mobile不同网页之间的跳转问题 jQuery Mobile,一个新的手机终端脚本开发库,从名字可以看出,它是基于jQuery:目前支持很多种手机设备,包括IOS/Android/Bl ...