iOS中的时间和日期

怎么说?时间和日期不是了不起的属性、了不起的功能,但是,我们决不能够因此就“冷落”它。

一:怎么“搞到货”--如何获取时间、日期

//-=-==当前时间------默认显示“0时区”时间
NSDate * date1=[NSDate date];

//=-=-时间戳
//--1,该时间距1970年60秒
NSDate * date2=[NSDatedateWithTimeIntervalSince1970:60];

//--2,2000年
NSDate * date3=[NSDate dateWithTimeIntervalSinceReferenceDate:60*60];

//-=--=-=---现在开始"NSTimeInterval"之后的时间
NSDate * date4=[NSDate dateWithTimeIntervalSinceNow:60*60];

//-=-=-一个日期“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(0, 200,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);

}

意欲捕鸣蝉,忽然闭口立。

时间: 2024-08-03 20:35:01

iOS中的时间和日期的相关文章

Java中的时间和日期(下)

转载请注明出处:http://blog.csdn.net/wl9739/article/details/51882913 在上篇文章Java中的时间和日期(上)里面,简单介绍了Java中的Date类,Calendar类以及用于格式化的SimpleDateFormater类.使用这些的时候我们会明显地感受到其中的不便之处,比如,Calendar类的月份是从0开始计数的:日期格式输出不够友好,很多情况下都需要使用SimpleDateFormater类来格式化:一些简单得日期计算也比较麻烦等等.所以就

PHP中的时间和日期

一.date()函数 string date ( string $format [, int $timestamp ] ) 作用:将时间戳格式化为易读的时间和日期. 参数 描述 format 必需.规定时间戳的格式. timestamp 可选.规定时间戳.默认是当前时间和日期. 1.获取日期 (1).年 format格式 说明 例子 L 是否为闰年 如果是闰年为 1,否则为 0 o ISO-8601 格式年份数字.这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一

Java中的时间和日期(上)

自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的.然后出现了Calendar来解决了很多问题,但是Calendar使用比较复杂,并且有些反人类的地方.直到Java 8的出现,它吸收了Joda-Time库的经验,使得Java处理时间和日期变得比较"人性化"了.本篇就来谈谈Java中的Date.Calendar,以及SimpleDateFormat的使用.下一篇再对比一下Java 8中的日期处理. 古老的Date 查看一下Date类的源码,

细谈Java中的时间与日期

Data类 java.util.Date类实在Java之中获得日期时间操作的最简单的一个程序类,这个类可以直接通过实例化Date类对象的形式获取当前的日期时间. 范例:获取当前的日期时间 import java.util.Date; public class Demo { public static void main(String args[]) { System.out.println(new Date()); } } 程序执行结果: Fri Mar 27 19:12:56 CST 2020

关于iOS中的时间

两类 绝对时间 [NSDate date].CFAbsoluteTimeGetCurrent(),或者gettimeofday(). 返回的是从某一个时刻开始,度过的秒数.会随着用户设置的系统时间更改. 相对时间 CACurrentMediaTime 或者-[NSProcessInfo systemUptime],相对时间.重启之后,会重新计数. 参考资料 Keeping Track of Time Passed on iOS NSDate .CFAbsoluteTimeGetCurrent.C

iOS中精确时间的获取

下面是一段无法查证出处的英文和自己的翻译 A quick and easy way to measure the performance of a piece of iOS code is to dig down below all the Cocoa Touch stuff and use the low-level mach_absolute_time. This call returns a tick count that can be converted into nanoseconds

Java中对两个日期时间的比较方法

在Java中比较时间或者日期基本上都要转换成Date类型,本文主要提供三个方法,compareTo.getTime.after:另外还提供计算两天之间的天数,以及根据当前天获取后一天的日期的方法. package com.raipeng.test; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; i

Boost库简单运用——时间与日期的处理(一)

对于时间与日期的处理一直都是一个比较复杂的问题,而C++中对于时间与日期的处理也是比较简陋的,并不像Java.C#之流提供了非常方便易用的类.但随着Boost的推出,对于时间的处理也变得越来越简单方便了,今天我们就来学习一些较为方便的处理方式: 首先,我们先来了解Boost中对时间处理的一个比较基础的类,也是后续几个类的基类--timer. timer类可以测量时间的流逝,依据平台的不同,提供了毫秒甚至微秒级别的时间控制,我们也可以用它来做一个很简单的计时器,下面,我们通过代码来解释timer的

hibernate Java 时间和日期类型的 Hibernate 映射

基础知识: 在 Java 中, 代表时间和日期的类型包含: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类: java.sql.Date, java.sql.Time 和 java.sql.Timestamp, 这三个类分别和标准 SQL 类型中的 DATE, TIME 和 TIMESTAMP 类型相应 在标准 SQL 中, DATE 类型表示日期, TIME 类型表示时间,