iphone - NSDateComponents 格式问题

标签 iphone objective-c ios

我正在使用多个 NSDateComponents 来显示一个时钟,其各个值在整个屏幕上被打散,但我遇到了格式化问题。

秒数显示为 1-60 而不是 00-59,小时数为 24 小时制而不是 12 小时制。有没有办法以不同方式设置这些格式?

现在我已经获得了作为 NSInteger 传递的值,将它们传输到 NSString 并将该字符串应用到 UILabel。谁能帮忙?

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

最佳答案

因为您已经有了 NSInteger 的值,然后假设它们首先被称为 minuteshours:

minutes -= 1; // convert 1 -> 60 to 0 -> 59
if(hours > 12) hours -= 12; // convert 13 -> 24 to 1 -> 12

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

您可以通过查找有关 printf

的文档找到所有格式规范(对象的 %@ 除外)

关于iphone - NSDateComponents 格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5120049/

相关文章:

生成视频缩略图的 iOS 代码返回 0 字节[]

objective-c - CGAffineTransformMakeScale 使 UIView 在缩放前跳转到原始大小

ios - UIKit 方法中的 "animated" bool 参数是否与设置动画持续时间不同?

iphone - 从服务器下载高分辨率图像以进行视网膜显示的策略

iphone: NSDateFormatter 如何以 24 小时格式显示时间?

iphone - 变量超出范围

ios - 我有一个分组的 UITableView,我需要让它看起来像一个普通的 UITableView

iOS:旋转 iPad,什么阶段可以改变 View ?

iphone - 从应用程序中检测配对的蓝牙设备

iphone - Objective-C 中的 NSMutableArray 插入