IOS NSDate NSDateFormatter 导致相差8小时
时间问题应该是所有编程语言都要处理的。详细学过php的同学知道,php中也会有相差8小时的问题,然而php可以非常方便的解决的,直接设置下就好了
我最近在学习IOS的过程中,发现IOS的日期处理也是个大坑。记录下我遇到的问题
我开始使用NSDate获取时间发现 相差8小时,解决方法如下
NSDate *date = [NSDate date];
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate: date];
NSDate *localeDate = [date dateByAddingTimeInterval: interval];
上面4句代码可以解决NSDate 8小时问题
然后我为了获取今天的起止时间,我就简单 处理成 获取今天的日期,然后拼接 起止时间 00:00:00 ~ 23:59:59
问题来了,在使用NSDateFormatter进行格式化之后,发现又差了8个小时,这真是蛋疼的事情呀
通过如下代码解决
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
这样才解决了我纠结的事情
总结来说IOS在时间日期这块处理的 没有 php优雅,太多冗余代码了
完整代码如下
NSDate *date = [NSDate date];
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate: date];
NSDate *localeDate = [date dateByAddingTimeInterval: interval];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *todayDate = [dateFormatter stringFromDate:localeDate];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *startDate = [dateFormatter dateFromString:[todayDate stringByAppendingString:@" 00:00:00"]];
NSDate *endDate = [dateFormatter dateFromString:[todayDate stringByAppendingString:@" 23:59:59"]];
原文地址:IOS NSDate NSDateFormatter 导致相差8小时
标签:ios nsdate nsdateformatter 8小时
智能推荐
IOS NSDate NSDateFormatter 导致相差8小时的更多相关文章
- ios 时间解析 差8个小时
啥问题也有:小程序中web开发工具里显示时间正常,ios上显示的查8小时 原因: 使用 NSDate *date = [NSDate date]; 获取的时间是标注的UTC时间,和北京时间相差8小时. ...
- iOS-NSDate 相差 8 小时
转载自:http://blog.csdn.net/diyagoanyhacker/article/details/7096612 NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地 ...
- php5.1以上版本时间戳_时间戳与日期格式转换_相差8小时 的解决方案
php5.1以上时间戳会与实际时间相差8小时,解决办法如下 .最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法!!! .修改php.ini.打开php.ini查找date.time ...
- 解决weblogic与系统时间相差8小时的问题
解决weblogic与系统时间相差8小时的问题 在一般情况下weblogic与系统时间是很少会出现时间差的问题,但有可能在某一特定的情况下就会出现,如使用weblogic8版本时可能会出现时差问题: ...
- 解决mongodb ISODate相差8小时问题
服务端使用mongoose操作mongodb,其中Schema中的日期字段定义如下: date: {type:Date, default:Date.now},//操作日期 插入到mongodb中adt ...
- SpringBoot时间戳与MySql数据库记录相差14小时排错
项目中遇到存储的时间戳与真实时间相差14小时的现象,以下为解决步骤. 问题 CREATE TABLE `incident` ( `id` int(11) NOT NULL AUTO_INCREMENT ...
- CentOS系统时间与现在时间相差8小时解决方法
很多网友在安装完CentOS系统后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时.这个时候的bios的时间和 ...
- 解决tomcat中jdk1.5运行日志相差8小时问题
tomcat运行日志时间与电脑中的时间相差8小时,原因是因为jdk1.5的原因: 解决办法是在jdk运行的时候加上默认参数: Window->Preferences->Java->I ...
- docker之容器日志输出与系统时间相差8小时解决办法
参考:https://blog.csdn.net/eumenides_/article/details/94719944 https://muguang.me/it/2658.html 使用doc ...
随机推荐
- node相关--代码共享
代码共享问题: 是否值得在两个环境中运行同一份代码: //看项目 依赖的API是否在两个环境中都有或有替代: 浏览器提供的标准API:XMLHttpRequest.WebSocket.DOM.canv ...
- BZOJ3103 : Palindromic Equivalence
用Manacher可以推出O(n)对相等和不等关系. 将相等的用并查集维护,不等的连边. 然后从1到n,如果该等价类还没被考虑过,则ans*=26-与它不等的考虑过的等价类个数. #include&l ...
- CSS创建三角形(小三角)的几种方法
你可以在很多地方看到三角形(小三角):tooltips提示框.下拉菜单.甚至在loading载入动画里.不管你喜欢还是不喜欢,这些小元素对各UI元素之间的联系关系式很重要的. 有一些不同的方法来设计并 ...
- CentOS 下安装翻译软件星际译 StarDict
wget http://downloads.naulinux.ru/pub/NauLinux/6x/x86_64/sites/School/RPMS/stardict-3.0.2-1.el6.x86_ ...
- LeetCode-Sudoku Solver (递归解法)
题目地址: https://leetcode.com/problems/sudoku-solver/ // 将字符串的数独题转换成 int[9][9] ][], char ** b, int boar ...
- Oracle用户信息查询
1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角 ...
- workerman是一个高性能的PHP socket服务器框架
workerman-chatorkerman是一款纯PHP开发的开源高性能的PHP socket服务器框架.被广泛的用于手机app.手游服务端.网络游戏服务器.聊天室服务器.硬件通讯服务器.智能家居. ...
- 【GK101 谐波数据生成器】上位机软件升级(版本:1.1)
============================= 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:ht ...
- Ural 1741 Communication Fiend(隐式图+虚拟节点最短路)
1741. Communication Fiend Time limit: 1.0 second Memory limit: 64 MB Kolya has returned from a summe ...
- 用ultraISO 制作一个MSdos启动软盘镜像
见过软盘,但是没用过,在虚拟机里试试. 磁带,软盘,光盘,硬盘…… 储存介质一代代更新,看到的img.iso文件都是叫做镜像文件(image file ).image 即图片照片,所谓的image f ...