NSDate 哪些事
.什么是时间戳?
时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数。
2.NSDate,时间戳,NSString 之间的转换
//string 转 date
+ (NSDate *)dateWithString:(NSString *)str dateFormater:(NSString *)dateFormat{ NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:dateFormat]; // 年-月-日 时:分:秒如@"yyyy-MM-dd hh:mm:ss"
NSDate * date = [formatter dateFromString:str];
return date;
}
//date 转 string
+ (NSString *)stringWithDate:(NSDate *)date dateFormater:(NSString *)dateFormat{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:dateFormat];
NSString *str = [formatter stringFromDate:date];
return str; }
//字符串转时间戳
+(NSTimeInterval)dateStrToInterval:(NSString *)dateStr dateFormater:(NSString *)dateFormat{
NSDateFormatter *fo = [[NSDateFormatter alloc] init];
[fo setDateFormat:dateFormat]; NSDate *da = [fo dateFromString:dateStr]; if( da == nil )
return ; return da.timeIntervalSince1970;
} //时间戳转字符串
+(NSString*)dateIntervalToString:(NSTimeInterval)timeInterval dateFormater:(NSString *)dateFormat{
if( !dateFormat )
return nil;
NSDateFormatter *fo = [[NSDateFormatter alloc] init];
[fo setDateFormat:dateFormat]; NSDate *da = [NSDate dateWithTimeIntervalSinceNow:(timeInterval+)/];
// [fo setDateStyle:kCFDateFormatterNoStyle];
NSString *daStr = [fo stringFromDate:da];
return daStr;
}
3.增加天数
NSDate * date = [NSDate date];
//明天
NSDate *afterToday = [date dateByAddingTimeInterval:60*60*24];
//昨天
NSDate *yesterday = [date dateByAddingTimeInterval: -60*60*24 ];
4.NSDate比较
if (!([[NSDate date] timeIntervalSinceDate:[[NSDate date] dateByAddingTimeInterval:60*60*24]]]<60))
//多余的天数
NSInteger num = [NSNumber numberWithDouble:[_currentOutDate timeIntervalSinceDate:_currentInDate]/3600/24].integerValue;
self.accommodationL.text = [NSString stringWithFormat:@"住%ld晚",num]
NSDate 哪些事的更多相关文章
- NSDate与时间戳的那点事
对于项目中常常使用的时间来说,通过时间戳的形式进行数据的操作能带来极大的方便,以下就时间戳的生成和转换通过Demo的形式进行解说 声明一个时间类型的变量: // 获取当前的时间 // 以下的第一个方法 ...
- NSDate 那点事
转载自:http://my.oschina.net/yongbin45/blog/150114 NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是N ...
- OC: 类的扩展、类的延展、协议、 NSDate
NSDateFormatter 指定⽇日期格式: NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter ...
- 【腾讯Bugly干货分享】H5 视频直播那些事
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动 ...
- CSharpGL(31)[译]OpenGL渲染管道那些事
CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...
- TODO:字节的那点事Go篇
TODO:字节的那点事Go篇 (本文go version go1.7.3 darwin/amd64) 在Golang中string底层是由byte数组组成的. fmt.Println(len(&quo ...
- Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事
前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...
- OpenNLP:驾驭文本,分词那些事
OpenNLP:驾驭文本,分词那些事 作者 白宁超 2016年3月27日19:55:03 摘要:字符串.字符数组以及其他文本表示的处理库构成大部分文本处理程序的基础.大部分语言都包括基本的处理库,这也 ...
- HTTPS那些事(一)HTTPS原理
转载来自:http://www.guokr.com/post/114121/ 谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传 ...
随机推荐
- Android Tips: 在给drawable中添加图片资源时,文件名必须全小写
在给drawable中添加图片资源时,文件名必须全小写
- Jquery导航悬停点击及首页图片切换功能
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx. ...
- webView 显示一段 html 代码
1.布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...
- 开发Android系统内置应用小记
Android系统内置应用可以使用更多的API.更高的权限,与开发普通应用最大的差别在于编译,内置应用编译需要用到Android.mk文件.下面是我在开发过程中的一些小记. 1.在AndroidMai ...
- UIApplication是什么
1.UIApplication对象是应用程序的象征 2.每一个应用都有自己的UIApplication对象,而且是单例的(只有一个) 3.通过[UIApplication sharedAppl ...
- 【iOS】使用safari对webview进行调试
[iOS]使用safari对webview进行调试 在web开发的过程中,抓包.调试页面样式.查看请求头是很常用的技巧.其实在iOS开发中,这些技巧也能用(无论是模拟器还是真机),不过我们需要用到ma ...
- oc TableView 分割线(separator)部分显示问题
问题:当TableView的cell不能显示完整个屏幕(屏幕有剩余),则没有显示cell的地方也会显示分割线,这不是我们想要的,正常情况下,如果没有cell则应没有分割线.如下图所示:左图为遇到问题, ...
- [Android] android studio 2.0即时运行功能探秘
即时运行instant Run是android studio 2中,开发人员最关心的特性之一 在google发布studio 2.0之后,马上更新体验了一把,然而发现,并没快多少,说好的即时运行呢? ...
- VBA 操作数字
第8章 操作数字 加.减.乘.除.平方与指数(^2 或者^n).平方根Sqr.正弦Sin.余弦Cos.正切Tan.反正切Atn.绝对值Abs 转换为整型数.长整型数.双精度型数和值 Cint当双精度型 ...
- 关于JS变量提升的一些坑
function log(str) { // 本篇文章所有的打印都将调用此方法 console.log(str); } 函数声明和变量声明总是会被解释器悄悄地被“提升”到方法体的最顶部 变量声明.命名 ...