将 NSDate 转换为 NSString
如何将 NSDate
转换为 NSString
以便仅将 @"yyyy" 格式的年份输出到字符串?
How do I convert, NSDate
to NSString
so that only the year in @"yyyy" format is output to the string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(19)
这是快速格式:
It's swift format :
快速4个答案
swift 4 answer
使用
扩展
获得清晰的代码您可以编写一个扩展来将任何
Date
对象转换为任何所需的日历和任何格式然后像这样使用它:
要了解如何指定所需格式字符串,请查看此链接。
有关如何设置日期格式的完整参考,请参阅 Apple 的官方日期格式指南 此处。
Use
extension
to have clear codeYou can write an extension to convert any
Date
object to any desired calendar and any formatThen use it like this:
To learn how to specify your desired format string take a look at this link.
For a complete reference on how to format dates see Apple's official Date Formatting Guide here.
使用 C# 风格的方式将日期转换为字符串的简单方法。
用法:
扩展:
Simple way to use C# styled way to convert Date to String.
usage:
extensions:
定义您自己的实用程序来格式化您所需的日期格式
例如。
Define your own utility for format your date required date format
for eg.
#ios #swift #convertDateinString
只需按照您传递的格式“将日期转换为字符串”即可:
注意:您可以指定不同的格式,例如
"yyyy-MM-dd"
、“yyyy”
,“MM”
等...#ios #swift #convertDateinString
Simply just do like this to "convert date into string" as per format you passed:
Note: You can specify different formats such like
"yyyy-MM-dd"
,"yyyy"
,"MM"
etc...iOS 15 更新
iOS 15 现在支持直接在
Date
对象上调用.formatted
,无需显式DateFormatter
。常见格式示例
文档
替代语法
文档
Update for iOS 15
iOS 15 now supports calling
.formatted
onDate
objects directly without an explicitDateFormatter
.Example for common formats
Documentation
Alternative syntax
Documentation
对于 Objective-C:
对于 Swift:
这是 nsdateformatter 的好网站。您可以使用不同的
预览日期字符串DateFormatter
在不同的本地。for Objective-C:
for Swift:
That's a good website for nsdateformatter.You can preview date strings with different
DateFormatter
in different local.怎么样...
Swift 4.2:
How about...
Swift 4.2 :
我不知道我们怎么错过了这个:localizedStringFromDate:dateStyle:timeStyle:
输出 '13/06/12 00:22:39 GMT+03: 00'
I don't know how we all missed this: localizedStringFromDate:dateStyle:timeStyle:
outputs '13/06/12 00:22:39 GMT+03:00'
希望通过提供正常的格式化程序(包括年、月、日和时间)来增加更多的价值。
您可以使用此格式化程序超过一年
Hope to add more value by providing the normal formatter including the year, month and day with the time.
You can use this formatter for more than just a year
网络上有许多
NSDate
帮助器,我倾向于使用:https ://github.com/billymeltdown/nsdate-helper/
自述文件摘录如下:
这会产生以下类型的输出:
there are a number of
NSDate
helpers on the web, I tend to use:https://github.com/billymeltdown/nsdate-helper/
Readme extract below:
This produces the following kinds of output:
在斯威夫特中:
In Swift:
如果您没有可用的
NSDate
-descriptionWithCalendarFormat:timeZone:locale:
(我不相信 iPhone/Cocoa Touch 包含此功能),您可能需要使用 strftime 和 Monkey周围有一些 C 风格的字符串。 您可以使用NSDate -timeIntervalSince1970
从NSDate
获取 UNIX 时间戳。If you don't have
NSDate
-descriptionWithCalendarFormat:timeZone:locale:
available (I don't believe iPhone/Cocoa Touch includes this) you may need to use strftime and monkey around with some C-style strings. You can get the UNIX timestamp from anNSDate
usingNSDate -timeIntervalSince1970
.只需添加这个扩展:
Just add this extension:
如果您使用的是 Mac OS X,您可以编写:
但是,这在 iOS 上不可用。
If you are on Mac OS X you can write:
However this is not available on iOS.