iOS- NSDateFormatter (自定义时间格式)
一. NSDateFormatter解释
1. 日期(NSDate)是NSString类的格式(stringWithFormat),也可以改变输出,如果需要输出年代信息等则需要进行转换,等等。
2. NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间。
3. NSDateFormatter可以比较方便的进行格式转换。
二. 时间格式定义
1. G --> 公元时代
2. yy --> 年的后两位
3. yyyy --> 完成的年
4. MM --> 月份 1-12月
5. MMM --> 月份英文简写 如Jan
6. MMMM --> 月份英文全写 如Janualy
7. dd --> 日 两位数表示 如02
8. d --> 日 1-2位显示 如 1 或者12
9. EEE --> 简写星期几 如: Sun
10. EEEE --> 全写星期几 Sunday
11. aa --> 上午下午 AM/PM
12. H --> 小时 24小时制 0-23
13. K --> 小时 12小时制 1-12
14. m --> 分钟 1-2位 如 2 或者22
15. mm --> 分钟 2位 如02
16. s --> 秒 1-2位
17. ss --> 秒 2位
18. S --> 毫秒
三. 封装的修改时间格式的方法 (需要传入NSString类型,并且返回NSString类型)
- (NSString *)formateDateToFull:(NSString *)string
{
/**
1. 获取到初始的时间字符串
2. 设置该时间的格式
3. 将时间字符串转变成为NSDate类型
4. 重新设置自己想要时间格式
5. 将时间转化为时间字符串
*/
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
/**
1. 模拟器默认的是英语环境,不加这句话也可以转换,
2. 在真机上不加这句话就会获取不到下面的NSDate对象.因为真机一般是简体中文.
3. 这句话的意思就死设置时间支持的语言为简体中文
*/
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en"];
// 设定时间格式,这个格式是后台给的时间,需要根据具体的时间格式自己定义.
[dateFormatter setDateFormat:@"EEE MM dd HH:mm:ss yyyy"];
// 将时间字符串根据上面设置的时间格式转换成NSDate类型
NSDate *date = [dateFormatter dateFromString:string];
// 重新设置自己想要的时间格式
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm"];
// 将时间NSDate转化成为需要的NSString类型
NSString *currentDateStr = [dateFormatter stringFromDate:date];
return currentDateStr;
}
iOS- NSDateFormatter (自定义时间格式)的更多相关文章
- linux 获取时间后--自定义时间格式
自定义时间格式 =================================-===================================== #include <stdio.h ...
- Mui自定义时间格式:
Mui自定义时间格式: (function($) { $.init(); $(document).on('tap','.btn',function(){ var obj = getFormJson($ ...
- Gorm 预加载及输出处理(三)- 自定义时间格式
前言 Gorm 中 time.Time 类型的字段在 JSON 序列化后呈现的格式为 "2020-03-11T18:26:13+08:00",在 Go 标准库文档 - time 的 ...
- Python-时间戳、元组时间的格式、自定义时间格式之间的转换
一.时间戳.元组时间的格式.自定义时间格式之间的转换 1.下面是三者之间的转换关系: 2.代码如下: import time import datetime print(time.time()) #获 ...
- iOS开发之时间格式的转化
在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如:如何将格式为“12-May-14 05.08.02.000000 PM” ...
- 使用POI读取xlsx文件,包含对excel中自定义时间格式的处理
package poi; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcepti ...
- mvc页面中,显示自定义时间格式
1.在model中,遇到datetime格式的字段,用string来表示 model中 /// <summary> /// 开始时间 /// </summary> [Displ ...
- jstl自定义时间格式
<fmt:formatDate value='${time}' pattern='yyyy-MM-dd HH:mm:ss'/> <s:iterator>下的<s:prop ...
- NSDateFormatter中时间格式串的含义
a: AM/PM (上午/下午) A: 0~86399999 (一天的第A微秒) c/cc: 1~7 (一周的第一天, 周天为1) ccc: Sun/Mon/Tue/Wed/Thu/Fri/Sat ( ...
随机推荐
- 水星Mercury路由器端口映射设置图文方法
在一些内网的环境里,你可能需要把自己的内网的WEB服务器或者其他应用服务器设置成通过互联网可以访问,但是在内网我们是通过路由器共享上网的,外网无法访问到我们的内部服务器.那么这就需要我们通过" ...
- HTML5手机APP开发入(4)
HTML5手机APP开发入(4) 课程内容 完成一个自定义的Component用来展现通讯录用户的明细信息如下图 http://bootsnipp.com/snippets/featured/prof ...
- Codeforces Beta Round #62 题解【ABCD】
Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...
- VS2010在运行状态下编辑代码
在VS2010环境下,当程序处于调试运行状态时,编辑代码会出现下图提示框: 这就给边编辑代码边查看程序运行效果带来不便. 解决方法:在程序没有运行的时候,打开菜单“工具”——>“选项”——> ...
- Android开发:第四日番外——Assets文件夹和RAW文件夹区别
话说上回说到SQLite数据库,其中涉及到把已经设计好的数据库打包到APK中,提到可以放置在Assert文件夹或者RAW文件夹中,那么两者到底有什么区别呢?让我们来探究一下. 一.res/raw和as ...
- "无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开"解决办法
当程序用ado的jet4.0方式连接mdb数据库的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”. ADOConne ...
- 菜鸟教程之工具使用(十一)——Eclipse去掉未使用的引用
大家在写代码的时候经常会看到如下的情况: 大家都知道这是因为引入了未使用的包,所以Eclipse给出了提示,告诉你这些是无用的引用,这些无用的引用即影响了美观,又增加了代码占用的空间,还给代码的编译增 ...
- android实现自动升级并安装打开
http://blog.csdn.net/wa991830558/article/details/41014673 这是一个比较简单的程序,但网上还是有很多人问起这个问题,并且回答的人,也没有完全回答 ...
- VS替换空行
visual studio2012 改变了正则表达式的写法 因此原来的不管用了 Old: ^:b*$\n New: ^(?([^\r\n])\s)*\r?$\r?\n Click Ctrl-H (qu ...
- [AX2012]Report data provider调试
运行使用RDP作为数据源的报表时,RDP类被编译成.NET的服务调用,RDP是X++的代码,它的调试是在MorphX调试器中完成.要在MorphX调试器中调试RDP的X++代码需要以下配置: 添加AO ...