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

第一个获取当前时间,以字符创的形式返回,例如"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. Cocos2d-x——Cocos2d-x 屏幕适配新解 – 兼容与扩展【转载】

    Cocos2d-x 屏幕适配新解 – 兼容与扩展 本文出自[无间落叶](转载请保留出处):http://blog.leafsoar.com/archives/2013/05-13-08.html 在读 ...

  2. 【不积跬步,无以致千里】VIM查找替换归纳总结zz

    http://spaces.msn.com/dingy/blog/cns!2F24B9E66A542581!327.entry VIM中常用的替换模式总结. 1,简单替换表达式 替换命令可以在全文中用 ...

  3. skyline TerraExplorer fly设置相对路径的方法

    软件环境:TerraExplorer Pro(以下简称TEP)6.5 在TEP中,对于本地(非网络)文件路径,默认都是绝对路径,在移动数据时非常麻烦,以下是本人总结出一些设置相对路径的规则 假设fly ...

  4. Android Developers:在命令行构建和运行

    使用Ant构建脚本构建你的应用程序有两种方式:一种用于测试/调试你的引用程序—debug模式—另一种用于构建你最终发布的包-release模式.无论你使用哪种方式构建你的应用程序,它必须在安装在模拟器 ...

  5. Android Dalvik虚拟机初识(转)

    原文地址:http://blog.csdn.net/andyxm/article/details/6126907 android虚拟机jvmjava优化linux内核 首先,让我们来思考下面几个问题: ...

  6. Mac OS X 系统目录结构

    在OS X的系统中,不再有Windows用户熟悉的C盘.D盘,这是因为OS X底层是Unix系统,其目录机构符合Unix系统的规范.MAC机器主板使用了Intel主导的EFI标准,硬盘分区格式采用GP ...

  7. Python学习 之 包和模块

    1.rpm -ql python #查看python在计算机中安装了哪些文件 2.模块是一个可以导入的Python脚本文件 包是一堆按目录组织的模块和子包,目录下的__init__.py文件存放了包的 ...

  8. Hive官方手册翻译(Getting Started)(转)

    原文:http://slaytanic.blog.51cto.com/2057708/939950 翻译Hive官方文档系列,文中括号中包含 注: 字样的,为我自行标注的,水平有限,翻译不是完美无缺的 ...

  9. Terrible Sets

    Terrible Sets Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3017   Accepted: 1561 Des ...

  10. JavaFX(三)窗口拖动

    1.问题场景 在上一篇中,我们将窗口的默认标题栏隐藏从而导致鼠标点击窗体无法进行拖动. 2.解决思路 给组件添加鼠标按下事件监听器和鼠标拖动事件监听器. 3.代码实现 代码片段: private do ...