1

目前,我正在尝试格式化 NSDate 字符串。

2013-08-25 22:54:00.500 MYSCHEDULER[23153:c07] 9:00 PM
2013-08-25 22:54:00.501 MYSCHEDULER[23153:c07] 2013-08-10 04:00:00 +0000

这是我使用的代码:

- (NSString *)monthFormatter:(NSDate *)date
{
    static NSDateFormatter *dateFormat = nil;

    if (nil == dateFormat) {
        dateFormat = [[NSDateFormatter alloc] init];
        [dateFormat setDateFormat:@"h:mm a"];
    }

    return [dateFormat stringFromDate:date];
}

我想做的是创建一个删除附加 0 的日期格式化程序。

所以我有一个时间9:00 PM,我想将时间转换为9 PM. 有没有办法可以用 a 来完成NSDateFormatter

我试图这样做:[dateFormat setDateFormat:@"h:m a"];但它只是让日期显示如下:9:0 PM

有人有想法么?

编辑

另外,我知道我可以写:

[dateFormat setDateFormat:@"h a"];

这将满足这种情况,但对于可能的情况,9:30 PM需要做什么?也许是 dateformatter 方法中的检查器?但我认为苹果已经实施了这个案例。

4

2 回答 2

0

if you want 9 PM as your answer give a below code try it works fine as per your need

NSString *time = [self monthFormatter:[NSDate date]];
NSArray *timeAMPM = [time componentsSeparatedByString:@" "];
NSArray *hour = [time componentsSeparatedByString:@":"];

NSLog(@"the time :%@ %@",[hour objectAtIndex:0],[timeAMPM objectAtIndex:1]);
于 2013-08-26T06:14:03.000 回答
0

你需要像这样添加,我希望它有效:)

[dateFormat setDateFormat:@"MM/dd/yyyy HH"];
于 2013-08-26T06:11:49.210 回答