nsdate 即字符串与nsdate的转换

本文介绍如何在Objective-C中使用NSDateFormatter类将日期格式从NSDate转换为自定义格式,包括设置日期格式、获取当前日期、输出文本格式及指定年代信息等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日期(NSDate)是NSString类的格式(stringWithFormat,也可以改变输出,如果需要输出年代信息等则需要进行转换,等等


NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间。

NSDateFormatter可以比较方便的进行格式转换。


1.

获取当前日期时间

NSDate * dt = [NSDate date];

2.

//NSDateFormatter实例

NSDateFormatter *form= [[NSDateFormatter alloc] init];

3.

//NSDateFormatter格式化

[form setDateFormat@"G yyyy/MM/dd(EEE) K:mm:ss"];

4.

//输出为文本格式

NSString *str = [form stringFromDatedt];

5.

// NSDateFormatter alloc内存释放

[form release];

6.

str 变量内容格式为 AD 2010/11/25(Thu) 00:55:15的格式。

该格式可以指定以下内容:

01

G: 公元时代,例如AD公元

02

yy: 年的后2

03

yyyy: 完整年

04

MM: 月,显示为1-12

05

MMM: 月,显示为英文月份简写, Jan

06

MMMM: 月,显示为英文月份全称,如 Janualy

07

dd: 日,2位数表示,如02

08

d: 日,1-2位显示,如 2

09

EEE: 简写星期几,如Sun

10

EEEE: 全写星期几,如Sunday

11

aa: 上下午,AM/PM

12

H: 时,24小时制,0-23

13

K:时,12小时制,0-11

14

m: 分,1-2

15

mm: 分,2

16

s: 秒,1-2

17

ss: 秒,2

18

S: 毫秒


代码::


  //设置时间格式的类 获取时间的方式

    formater  =[[NSDateFormatter alloc]init];


NSString * time = [dic objectForKey:@"update_time"];后去时间字符串为1990-11-02 15:23:06 这样


    [formater setDateFormat:@"yyyy-MM-dd H:mm:ss"]; //设置格式

    NSDate *date = [formater dateFromString:time];

   NSLog(@"%@",date);

    double inter = fabs([date timeIntervalSinceNow]);

    if (inter<60) {

        cell.emlastTime.text = @"1分钟前";

    }else if(inter<60*60){

    

        cell.emlastTime.text = [NSString stringWithFormat:@"%d分钟前",(int)inter/60];

    }else if(inter<60*60*24){

    

        cell.emlastTime.text = [NSString stringWithFormat:@"%d小时前",(int)inter/(60*60)];

    

    }else{

    

        cell.emlastTime.text = [NSString stringWithFormat:@"%d天前",(int)inter/(60*60*24)];

    

    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值