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 ( ...
随机推荐
- Entity Framework Code First迁移基本面拾遗
项目中用到了EF Code First和迁移,但发现有些方面似懂非懂.比如:如何在迁移文件中控制迁移过程?如果在迁移文件中执行SQL语句?如何使用Update-Database的其它参数?数据库在生产 ...
- IrregularGridCollectionView处理不定宽度的标签cell
IrregularGridCollectionView处理不定宽度的标签cell 效果 源码 https://github.com/YouXianMing/UI-Component-Collectio ...
- python coroutine测试
目的:实现一个类似于asyn await的用法,来方便的编写callback相关函数 from __future__ import print_functionimport timeimport th ...
- DNS劫持
忽然发现我最喜欢的chrome 一直有广告,好些论坛都有大量的广告,原以为是重了什么插件了,找了也没发现,有可能是DNS劫持. 打开路由器,找到 dns 设置里面把里面的全部去掉.然后把 192.16 ...
- Ceph monitor故障恢复探讨
1 问题 一般来说,在实际运行中,ceph monitor的个数是2n+1(n>=0)个,在线上至少3个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行.所以,对 ...
- Objective-C在windows开发环境的搭建
转自 http://www.hdj.me/objective-c-in-windows 安装GNUstep GNUstep Windows Installer提供了Windows平台下的Objecti ...
- U深度利用iso文件制作U盘启动盘
利用U盘装win10系统: 工具:U深度装机版 文件:win10.iso 步骤1:下载U深度装机版安装 步骤2:打开U深度,制作U盘启动盘,注意选择iso模式,如下图所示 接下来下一步即可,工具会 ...
- IOS中的网络编程
在移动互联网时代,几乎所有应用都需要用到网络下载,比如图片的加载,音乐的下载,安装包的下载,等等,下面我们来看看如何进行下载 一.文件的下载我们用get来请求数据,并对请求的二进制数据进行解析存入文件 ...
- .net微信公众号开发——群发消息
作者:王先荣 本文将介绍微信公众号开发中用于群发消息的类MassMessage,包括:(1)MassMessage类:(2)群发:(3)删除:(4)预览:(5)查询发送状态:(6)接收推送群发结 ...
- C#如何更好地理解引用类型和值类型
说道值类型和引用类型,在C#中,官方的说法就是: 值类型直接指向数据:一般包括C#自带的所有数字类型,字符类型,bool类型,当然还有自定义的结构类型和枚举类型 而引用类型则是指向数据存储的地址.一般 ...