将 NSDate 格式化为年、月、日、时、分、秒的特定样式
我基本上需要分别获取当前日期和时间,格式为:
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);
I basically need to get current date and time separately, formatted as:
2009-04-26 11:06:54
The code below, from another question on the same topic, generates
now: |2009-06-01 23:18:23 +0100| dateString: |Jun 01, 2009 23:18| parsed: |2009-06-01 23:18:00 +0100|
This is almost what I'm looking for, but I want to separate the day and time.
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);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
为了快速
For swift
Swift 3
用法
使用模板来满足您的需求。 此处的示例和文档可帮助您构建您需要的模板。
注意
例如,如果您打算在
TableView
中使用DateFormatter
,您可能需要缓存它。举个例子,使用上面的 toString(template: String) 函数循环 1000 个日期花了我 0.5 秒,而使用上面的 0.05 秒
myFormatter.string(来自:日期)
。Swift 3
Usage
Play with template to match your needs. Examples and doc here to help you build the template you need.
Note
You may want to cache your
DateFormatter
if you plan to use it inTableView
for instance.To give an idea, looping over 1000 dates took me 0.5 sec using the above
toString(template: String)
function, compared to 0.05 sec usingmyFormatter.string(from: Date)
.就是这样,你得到了你想要的一切。
Thats it, you got it all you want.
这就是我用的:
this is what i used:
iPhone 格式字符串采用 Unicode 格式。 链接后面有一个表格,解释了上面所有字母的含义,以便您可以构建自己的字母。
当然,当您使用完日期格式化程序后,不要忘记释放它们。 上面的代码泄漏了
format
、now
和inFormat
。iPhone format strings are in Unicode format. Behind the link is a table explaining what all the letters above mean so you can build your own.
And of course don't forget to release your date formatters when you're done with them. The above code leaks
format
,now
, andinFormat
.设置返回格式为...
yyyy-MM-dd
return2015-12-17
dateyyyy-MMM-dd
return <代码>2015年12月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 年 12 月 17 日 08:07:13
日期和时间yyyy-MMM-dd HH:mm
返回2015 年 12 月-17 08:07
日期和时间有关更多详细信息 点击立即。
谢谢......
set the format to return is....
yyyy-MM-dd
return2015-12-17
dateyyyy-MMM-dd
return2015-Dec-17
dateyy-MM-dd
return15-12-17
datedd-MM-yy
return17-12-15
datedd-MM-yyyy
return17-12-2015
dateyyyy-MMM-dd HH:mm:ss
return2015-Dec-17 08:07:13
date and timeyyyy-MMM-dd HH:mm
return2015-Dec-17 08:07
date and timeFor more Details Data and Time Format for Click Now.
Thank you.....
你可以使用这个方法,只需将你的日期传递给它
you can use this method just pass your date to it
没什么新意,但仍然想分享我的方法:
nothing new but still want to share my method: