首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSDateComponents格式问题

NSDateComponents格式问题
EN

Stack Overflow用户
提问于 2011-02-26 00:48:35
回答 4查看 1.5K关注 0票数 1

我正在使用几个NSDateComponents来显示一个时钟,它的各个值在整个屏幕上都是分开的,但我遇到了格式化问题。

秒显示的是1-60而不是00-59,小时的格式是24小时而不是12。有没有办法不同地格式化它们?

现在,我已经获得了作为NSInteger传入的值,将它们传递给NSString,并将字符串应用于UILabel。有人能帮上忙吗?

有没有我应该使用的@"%"格式?(现在我正在使用@"d"),如果是这样的话,我在哪里可以找到这些不同类型的列表?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-26 01:52:16

因为您已经将值设置为NSInteger,然后假设它们首先被称为minuteshours

代码语言:javascript
复制
minutes -= 1; // convert 1 -> 60 to 0 -> 59
if(hours > 12) hours -= 12; // convert 13 -> 24 to 1 -> 12

现在使用"%02d" - broken对它们进行格式化,这是0-零填充,2-字段宽度,d-十进制整数。

您可以通过查找printf上的文档找到所有格式规范( %@ for objects除外

票数 2
EN

Stack Overflow用户

发布于 2011-02-26 00:55:45

您可以使用NSDateFormatter将日期和时间格式化为NSStrings。

代码语言:javascript
复制
NSDate *date = [dateFormatter dateFromString:@"01.02.1989"];
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
// Convert my date object into yyyy-mm-dd string object
[dateFormatter1 setDateFormat:@"yyyy-MM-dd"];
NSString *formattedStringDate = [dateFormatter1 stringFromDate:date];

这里有一个日期/时间格式化代码列表:Date formatting

我希望这能帮到你!N

票数 0
EN

Stack Overflow用户

发布于 2011-02-26 00:56:28

我之前也遇到过类似的问题,试着看看这个链接。它列出了所有不同的日期格式化程序及其工作方式。http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

对于您的特定问题,我认为您需要h: mm :ss。h表示小时,mm表示分钟,ss表示秒(s可能是0填充的那个,我不确定),a给出AM/PM格式。另外,%d是整数的正确格式,我相信%@是其他字符串的正确格式。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5120049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档