ios-NSDateComponents中设置小时的问题

问题描述

NSDateComponents中设置小时的问题

在NSDateComponents中设置小时。麻烦看一下我的代码:

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComps = [[NSDateComponents alloc] init];

[dateComps setDay:intDay];
[dateComps setMonth:intMonth];
[dateComps setYear:intYear];
[dateComps setHour:intHoures];
[dateComps setMinute:intMinutes];

NSDate *itemDate;
itemDate = [calendar dateFromComponents:dateComps];

NSLog(@"reminder date: %@", itemDate);

我设置了小时为13,但是结果是11。时间是24小时制的。

不知道怎么办?

谢谢您的帮忙。

解决方案

NSDateComponents默认是24小时的,你可以通过:
NSLog(@"---: %d",dateComps.hour);//验证

因此你输入13输出11的原因是NSDate默认采用12小时制输出。你需要做的就是格式化NSDate
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *myNewDate = [formatter stringFromDate:itemDate];
[formatter release];
NSLog(@"reminder date: %@", myNewDate);
时间: 2024-10-26 05:47:02

ios-NSDateComponents中设置小时的问题的相关文章

ios-需要在IOS中设置延迟功能

问题描述 需要在IOS中设置延迟功能 需要一个延时器,进行23秒的延迟然后执行函数.应该怎么实现?用不用NSTimer? 解决方案 performSelector: withObject: afterDelay: 解决方案二: 简单点的话,使用performSelector: withObject: afterDelay: 方法 [self performSelector:@selector(delayMethod:) withObject:nil afterDelay:23];

ios开发中时间转换的方法集锦

  这篇文章主要介绍了ios开发中时间转换的方法集锦,需要的朋友可以参考下 在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如: //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yy

asp中设置session过期时间方法总结

 如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改   如果程序中设置了session过期时间,那么,即使你将IIS中session时间设置100小时也没有用,因为程序会首先按照程序中设置,只有程序没设置的情况下才会按照IIS设置的 时间设置要放在前面 例如  代码如下   Session.Timeout=30 'SEESION有效时间为30分钟  Sessi

在MacOS和iOS系统中使用OpenCV

在MacOS和iOS系统中使用OpenCV OCT 27TH, 2012 前言 OpenCV 是一个开源的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法. 最近试着在MacOS和iOS上使用OpenCV,发现网上关于在MacOS和iOS上搭建OpenCV的资料很少.好不容易搜到些资料,却发现由于OpenCV和XCode的版本更新,变得不再有用了.有些问题费了我很多时间,在此总结分享给大家,希望后来人少走些弯路. 可以预见到,随着XCode和OpenCV的版本更新,本文可能不再有

java-currentTimeMillis()中4小时

问题描述 currentTimeMillis()中4小时 有个问题,如下函数,有一个名为cachetime的参数,如何设置为4小时?设置4 * 3600000? public static File getCache(String name, Context c, int cacheTime) { if (cacheTime <= 0) return null; File cache = new File(c.getCacheDir(), name); long now = System.cur

ios-在iOS中设置的Constraints没有用?求大神帮忙

问题描述 在iOS中设置的Constraints没有用?求大神帮忙 我预先设置了参数 确定后为: 但是插入的竖线并没有随view的变化而变化求解为什么 解决方案 你这个代码里面得添加相关内容的吧?还是直接界面上勾选就行了? 解决方案二: 你调整的是textFiled的大小,光标大小是与输入字体大小有关的 解决方案三: 你根本没选到竖线,你设的是textFeild,你要从outline那里选中你的线

ios-iOS 怎么实现多行字符串中设置没几个关键词不同颜色,并且关键词可以点击响应事件?

问题描述 iOS 怎么实现多行字符串中设置没几个关键词不同颜色,并且关键词可以点击响应事件? 解决方案 把关键词从label中分离出来,单独创建一个label 或者 button 各自设置颜色添加点击事件 解决方案二: http://www.360doc.com/content/15/0619/14/19119980_479198602.shtml 解决方案三: 用webview来加载html页面来显示 解决方案四: 你这个iOS确实实现不了,主要是这个点击事件实现不了.正如楼上所说,估计也就只

iOS应用中使用AsyncSocket库处理Socket通信的用法讲解_IOS

用socket可以实现像QQ那样发送即时消息的功能.客户端和服务端需要建立长连接,在长连接的情况下,发送消息.客户端可以发送心跳包来检测长连接. 在iOS开发中使用socket,一般都是用第三方库AsyncSocket,不得不承认这个库确实很强大.下载地址CocoaAsyncSocket . 特性 AsyncSocket类是支持TCP的. AsyncUdpSocket是支持UDP的. AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库.它提供了异步操

详解iOS App中UITableView的创建与内容刷新_IOS

UITableView几乎是iOS开发中用处最广的一个控件,当然也是要记相当多东西的一个控件. 创建首先创建一个新的项目,并添加一个MainViewController的Class文件 打开MainViewController.h文件 @interface MainViewController : UIViewController<UITableViewDataSource,UITableViewDelegate> @property (nonatomic, retain) NSArray *