iOS中的时间和日期
获取北京时间(上海时间\(^o^)/~)
+ (NSString *) getCurrentDateStr{
NSDate * date = [NSDate date];
NSDateFormatter * format = [[NSDateFormatter alloc] init];
format.dateFormat = @"yyyy-MM-dd hh:mm:ss";
NSTimeZone * tz = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
format.timeZone = tz;
NSString * dStr = [format stringFromDate:date];
return dStr;
}
怎么说?时间和日期不是了不起的属性、了不起的功能,但是,我们决不能够因此就“冷落”它。
一:怎么“搞到货”--如何获取时间、日期
//-=-==当前时间------默认显示“0时区”时间
NSDate * date1=[NSDate date]; //=-=-时间戳
//--1,该时间距1970年60秒
NSDate * date2=[NSDatedateWithTimeIntervalSince1970:]; //--2,2000年
NSDate * date3=[NSDate dateWithTimeIntervalSinceReferenceDate:*]; //-=--=-=---现在开始"NSTimeInterval"之后的时间
NSDate * date4=[NSDate dateWithTimeIntervalSinceNow:*]; //-=-=-一个日期“date1”之后“timeinterval”秒的日期
NSDate * date5=[NSDate dateWithTimeInterval:60sinceDate:date1];
二: 得到日期和时间之后,格式可能“不是我想要的”,怎么办?
日期的格式化类:NSFormatter,通过这个类可以得到你想要的格式,但是,注意在一定的基础上进行格式化:
yyyy / yy :年份 2012 / 12
MM : 月份
dd : "日份"
HH :时
mm : 分
ss :秒
a :AM / PM (12小时格式时选用)
zzz : 时区
EEEE :星期几
格式化之后的字符串还能够转换回原来的NSDate类型,但是,该字符串要遵守格式;(时间默认是0时区,但转换之后就是你的当前所在时区)
/** 日期格式化类 :NSFormatter:NSObject */
NSDateFormatter * formatter=[[NSDate Formatter alloc] init]; //-------=时间转换成字符串=--------
formatter.dateFormat=@"yyyy举MM头dd望HH明mm月ss a王zzz王EEEE";
NSString * dateStr=[formatter stringFromDate:date1]; NSLog(@"时间转成字符串:%@",dateStr); //-------=字符串转换成日期-----=====
/** 字符串转过来的时间是“当前时区的时间” */
NSString * string=@"2016举06头28望17明54月41 PM王GMT+8王Tuesday"; NSDate * strDate=[formatter dateFromString:string]; NSLog(@"字符串转时间:%@",strDate);
三: 两个日期的早晚比较
/** 比较日期 */
BOOL flag=[date1 isEqualToDate:date2]; if (flag==NO) {
NSLog(@"低头思故乡");
} //--=比较两个日期的早晚---=
/** 返回较早的时间 */
NSDate * date6=[date1 earlierDate:date2]; NSLog(@"%@",date6);
/** 返回晚的时间 */ NSDate * date7=[date1 laterDate:date2]; NSLog(@"%@",date7);
}
四: 日期的控件--UIDatePicker

上图就是使用UIDatePicker选择闹钟的时间;
如何使用之?
UIDatePicker * picker=[[UIDatePickeralloc] initWithFrame:CGRectMake(, ,kWidth, kHeight)];
picker.backgroundColor=[UIColor cyanColor];
[picker addTarget:selfaction:@selector(changeAction:) forControlEvents:UIControlEventValueChanged];
/** 确定显示的格式:时间、日期、时间+日期 */
picker.datePickerMode=UIDatePickerModeDateAndTime;
[self.view addSubview:picker];
就是这么easy。
UIDatePicker : UIControl 可以添加事件 (addTarget) 触发事件的方式:UIControlEventValueChanged
#pragma mark - 值改变的监听事件
- (void) changeAction:(UIDatePicker *) p{ NSLog(@"%@",p.date); }
意欲捕鸣蝉,忽然闭口立。
iOS中的时间和日期的更多相关文章
- Ios中比较两个日期之间的时间差距
1.比较两个日期之间的时间差距 // 1.日历对象(标识:时区相关的标识) NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIde ...
- C标准函数库中获取时间与日期、对时间与日期数据操作及格式化
表示时间的三种数据类型[编辑] 日历时间(calendar time),是从一个标准时间点(epoch)到现在的时间经过的秒数,不包括插入闰秒对时间的调整.开始计时的标准时间点,各种编译器一般使用19 ...
- Java8 中的时间和日期 API
1. 日期和时间概述 LocalDate,LocalTime,LocalDateTime类的实例是不可变的对象,分别表示使用 ISO-8601 日历系统 的日期,时间,日期和时间;它们提供了简单的日期 ...
- Python中的时间与日期
本文简要介绍datetime,time模块的简要用法. datetime模块 datetime模块主要有四个主要的对象. date 处理年.月.日 time处理时.分.秒.微秒 datetime处理日 ...
- 关于iOS中的时间
两类 绝对时间 [NSDate date].CFAbsoluteTimeGetCurrent(),或者gettimeofday(). 返回的是从某一个时刻开始,度过的秒数.会随着用户设置的系统时间更改 ...
- iOS中精确时间的获取
下面是一段无法查证出处的英文和自己的翻译 A quick and easy way to measure the performance of a piece of iOS code is to di ...
- 苹果浏览器和ios中,时间字符串转换问题
背景:在开发PC端项目和小程序时,遇到过一个时间字符串转化问题,在苹果浏览器和ios微信客户端里,"2018-10-15 18:20" 以 字符"-"拼接的时间 ...
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- hibernate Java 时间和日期类型的 Hibernate 映射
基础知识: 在 Java 中, 代表时间和日期的类型包含: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java. ...
随机推荐
- js JS 浮点计算BUG
Number.prototype.toRound = function(d) { var s=this+"";if(!d)d=0; if(s.indexOf(".&quo ...
- win7搭建web服务器
首先找到安装的tomcat软件,打开里面的webapp文件夹,在里面新建一个文件夹用作web应用程序访问端地址,然后再到新建的文件夹test里放入想要被访问的东西,这里我用的是一个测试的页面test. ...
- svn 强制用户添加注释 和 允许用户修改注释
当我们用TortoiseSVN提交代码时,有很多人不喜欢写注释,导致以后代码版本多,也不清楚哪个版本到底改了什么东西.所以在提交的时候,我会强制要求添加注释.这是如何实现的?这个话题就涉及到了svn的 ...
- 斗鱼的sidebar的实现简陋的demo
斗鱼的sidebar的实现简陋的demo <!DOCTYPE html> <html> <head lang="en"> <meta ch ...
- HTML5 常用的结构化标签整理
一.语义化结构化标签 结构化标签优点: 1.方便浏览器处理和识别,提升了网页的质量和语义. 2.减少了大量无意义的div标签,增强代码的可读性. 结构化标签:(header,nav,body,arti ...
- autofac获取全局Container
_UserService = ((IContainerProviderAccessor)HttpContext.Current.ApplicationInstance).ContainerProvid ...
- C-结构体、枚举
#include <stdio.h> //结构体:可以由多个不同类型的数据构成 int main() { struct Person { //里面的3个变量,可以称为是结构体的成员或者属性 ...
- Jquery中的$().each() 方法
先举例子, 输出每个 li 元素的文本: <html> <head> <script type="text/javascript" src=" ...
- ctrl+c,ctrl+d,ctrl+z在linux中意义
ctrl+c,ctrl+d,ctrl+z在linux中意义 ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c是强制中断程序的执行. ctrl+z的是将任务中断 ...
- 调整Linux磁盘分区的大小的方法
昨天数据入库时,一直报错,说磁盘满了,,df -h 一看,发现/目录下只有50G空间,已使用49G:我的程序和dbss都安装在/目录下,ftp到的数据放在/data下的一个子目录下,分解完的 ...