将NSDate格式化为年,月,日,小时,分钟,秒的特定样式

bcs*_*tos 132 cocoa cocoa-touch nsdate nsdateformatter date-formatting

我基本上需要分别获取当前日期和时间,格式为:

2009-04-26 
11:06:54

生成以下代码,来自同一主题的另一个问题

now:        |2009-06-01 23:18:23 +0100| 
dateString: |Jun 01, 2009 23:18| 
parsed:     |2009-06-01 23:18:00 +0100|

这几乎是我正在寻找的,但我想分开日期和时间.

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];

NSDate *now = [[NSDate alloc] init];

NSString *dateString = [format stringFromDate:now];

NSDateFormatter *inFormat = [[NSDateFormatter alloc] init];
[inFormat setDateFormat:@"MMM dd, yyyy"];

NSDate *parsed = [inFormat dateFromString:dateString];

NSLog(@"\n"
"now:        |%@| \n"
"dateString: |%@| \n"
"parsed:     |%@|", now, dateString, parsed);
Run Code Online (Sandbox Code Playgroud)

bcs*_*tos 194

这是我用过的:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];

NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm:ss"];

NSDate *now = [[NSDate alloc] init];

NSString *theDate = [dateFormat stringFromDate:now];
NSString *theTime = [timeFormat stringFromDate:now];

NSLog(@"\n"
      "theDate: |%@| \n"
      "theTime: |%@| \n"
      , theDate, theTime);

[dateFormat release];
[timeFormat release];
[now release];
Run Code Online (Sandbox Code Playgroud)


Rob*_*ier 72

iPhone格式字符串采用Unicode格式.链接后面是一个表格,解释上面所有字母的含义,以便您可以建立自己的字母.

当然,当你完成它们时,不要忘记发布日期格式化程序.上面的代码泄漏format,nowinFormat.

  • ARC上面没有任何泄漏(当然,在我们进行这次讨论时,2009年没有ARC). (19认同)

gur*_*uru 12

您可以使用此方法只是将您的日期传递给它

-(NSString *)getDateFromString:(NSString *)string
{

    NSString * dateString = [NSString stringWithFormat: @"%@",string];

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"your current date format"];
    NSDate* myDate = [dateFormatter dateFromString:dateString];

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"your desired format"];
    NSString *stringFromDate = [formatter stringFromDate:myDate];

    NSLog(@"%@", stringFromDate);
    return stringFromDate;
}
Run Code Online (Sandbox Code Playgroud)


PT *_*yas 11

    NSDateFormatter *dateformat = [[NSDateFormatter alloc] init];
    [dateformat setDateFormat:@"Your Date Format"];
Run Code Online (Sandbox Code Playgroud)

设置返回的格式是....

yyyy-MM-dd返回2015-12-17日期

yyyy-MMM-dd 返回2015-Dec-17日期

yy-MM-dd返回15-12-17日期

dd-MM-yy 返回17-12-15日期

dd-MM-yyyy 返回17-12-2015日期

yyyy-MMM-dd HH:mm:ss 返回2015-Dec-17 08:07:13日期和时间

yyyy-MMM-dd HH:mm 返回2015-Dec-17 08:07日期和时间

有关立即单击的更多详细信息数据和时间格式.

谢谢.....