IOS-时间与字符串互相转换

有时会遇到这样的问题,需要把时间和时间戳互相转换

比如把当前时间转换成 “20140716155436”这样的格式

或者是把“20140716155436”转换成“2014-07-16 15:54:36”

首先来第一个:

当前时间转换成 “20140716155436”这样的格式

///////////////////////////////

//获取当前时间

NSDate * today = [NSDate
date];

NSLog(@"%@",today);

打印出来是“2014-07-16 07:54:36 +0000”

很奇怪?现在明明是2014-07-16 15:54:36啊

因为存在不同时区,系统默认格林尼治时间

所以就要转换时间格式了

//转换时间格式

NSDateFormatter *df = [[NSDateFormatter
alloc]
init];//格式化

[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString * s1 = [df
stringFromDate:today];

NSLog(@" s1s1s1s%@",s1);

打印出来是“2014-07-16 15:54:36”

现在已经获取到当前的时间

这样还没有完呢,需要转换成一个字符串,类似“20140716052021”的时间戳

NSDate * date = [df
dateFromString:s1];

//转换时间格式

NSDateFormatter *df2 = [[NSDateFormatter
alloc]
init];//格式化

[df2 setDateFormat:@"yyyyMMddHHmmss"];

[df2 setLocale:[[NSLocale
alloc] initWithLocaleIdentifier:@"zh_CN"]];

NSLog(@"%@",[df2
stringFromDate:date]);

打印出来是“20140716155436”

接下来就是第二个:

把“20140716155436”转换成“2014-07-16 15:54:36”

首先要把20140716155436转换成时间格式

//转换时间格式

NSDateFormatter *df = [[NSDateFormatter
alloc]
init];//格式化

[df setDateFormat:@"yyyyMMddHHmmss"];

[df setLocale:[[NSLocale
alloc] initWithLocaleIdentifier:@"zh_CN"] ];

NSDate *date =[[NSDate
alloc]init];

date =[df
dateFromString:bill_timeStr];

str = [NSString
stringWithFormat:@"%@",date];

str的结果是“2014-07-16 07:54:36 +0000”

这时候就需要再转一次

//

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

[df2 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString * str1 = [df2
stringFromDate:date];

str1的结果是“2014-07-16 15:54:36”

ok,大功告成

IOS-时间与字符串互相转换

时间: 2024-10-17 22:14:20

IOS-时间与字符串互相转换的相关文章

时间和字符串的转换

1.常用的时间存储方式 1)time_t类型,这本质上是一个长整数,表示从1970-01-01 00:00:00到目前计时时间的秒数,如果需要更精确一点的,可以使用timeval精确到毫秒. 2)tm结构,这本质上是一个结构体,里面包含了各时间字段 struct tm { int tm_sec; /* seconds after the minute - [0,59] */ int tm_min; /* minutes after the hour - [0,59] */ int tm_hour

ios 时间和毫秒数转换

01-时间和毫秒数的相互转换 //获取毫秒数的时间戳 long inter = [[NSDate date] timeIntervalSince1970]*1000; NSLog(@"%ld",inter); //把毫秒数转换成时间 NSDate *date = [NSDate dateWithTimeIntervalSince1970:inter/1000]; NSLog(@"%@",date);

时间 字符串来回转换

import time, datetime # 时间到字符串的转换 print time.strftime("%Y-%m-%d %X", time.localtime()) # 字符串到时间的转换 t = time.strptime("2008-08-08 09:32:10", "%Y-%m-%d %X") print t[0:6] y, m, d, H, M, S = t[0:6] print datetime.datetime(y, m, d

C++时间与字符串转换

转自:http://blog.csdn.net/educast/article/details/17239735 1.常用的时间存储方式 1)time_t类型,这本质上是一个长整数,表示从1970-01-01 00:00:00到目前计时时间的秒数,如果需要更精确一点的,可以使用timeval精确到毫秒. 2)tm结构,这本质上是一个结构体,里面包含了各时间字段 1 struct tm { 2 int tm_sec; /* seconds after the minute - [0,59] */

c/c++日期时间处理与字符串string转换

在c/c++实际问题的编程中,我们经常会用到日期与时间的格式,在算法运行中,通常将时间转化为int来进行计算,而处理输入输出的时候,日期时间的格式却是五花八门,以各种标点空格相连或者不加标点. 首先,在c中,是有一个标准的日期时间结构体的,在标准库wchar.h内,我们可以看到结构体tm的声明如下: 1 #ifndef _TM_DEFINED 2 struct tm { 3 int tm_sec; /* seconds after the minute - [0,59] */ 4 int tm_

iOS 获取当前时间格式化字符串

iOS 获取当前时间格式化字符串 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. // 获取系统当前时间 NSDate * date = [NSDate date]; NSDateFormatt

mysql时间、字符串、时间戳互相转换

时间转字符串select date_format(now(), ‘%Y-%m-%d %H:%i:%s’); 结果:2018-05-02 20:24:10时间转时间戳select unix_timestamp(now()); 结果:1525263383字符串转时间select str_to_date(‘2018-05-02’, ‘%Y-%m-%d %H’); 结果:2018-05-02 00:00:00字符串转时间戳select unix_timestamp(‘2018-05-02’); 结果:1

iOS 时间处理(转)

NSDate NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是NSDate的私有子类的实体. NSDate存储的是GMT时间,使用的时候会根据 当前应用 指定的 时区 进行时间上的增减,以供计算或显示. 可以快速地获取的时间点有: now (当前时间点) 相对于1 January 2001, GMT的时间点 相对于1970的时间点 distantFuture (不可达到的未来的某个时间点) distantPast (不可达到的过去的某个时间点

iOS时间问题

iOS时间问题 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等.解决办法网上比比皆是,但大多零零散散,很多资料并没有说明其中问题.这里集中总结一下,以便于以后查阅和供大家参考.有我自己的理解,错漏之处请大家吐槽. NSDate的8小时问题 NSDate转字符串时间 初始化一个NSDate时间[NSDate date],获取的是零时区的时间(格林尼治的时间: 年-月-日 时:分:秒: +时区),而北京时间是东八区时间,因为时区不同,所以打印的时间相差了8小时

iOS时间格式说明

在iOS时间戳字符串NSdate转换demo中我们讲到了 - (IBAction)strToDate:(id)sender { NSString *timeStr = @"2015-07-15 15:00:00"; NSDate *date = [NSDate dateFromString:timeStr format:@"yyyy-MM-dd HH:mm:ss"]; NSLog(@"字符串转NSDate:%@ -> %@",timeStr