在 Swift 3 中获取当前日期? [关闭]
Posted
技术标签:
【中文标题】在 Swift 3 中获取当前日期? [关闭]【英文标题】:Get current date in Swift 3? [closed] 【发布时间】:2016-09-15 14:08:16 【问题描述】:如何在 Swift 3 中设置 label.text 当前日期?
我想在今天打印到屏幕上。我没有找到如何做到这一点。
在c#中很简单:
var date = DateTime.Now
我需要在 swift 3 中写 15.09.2016。 谢谢
【问题讨论】:
***.com/questions/24070450/…的可能重复 那不再工作了? 您是否一直滚动到底部以获取 Swift 3 答案? 您可能想使用NSDateFormatter
,然后是stringFromDate
。
很清楚他在问什么。为什么你们结束了这个问题?
【参考方案1】:
你在评论中说你想得到“15.09.2016”。
为此,请使用Date
和DateFormatter
:
let date = Date()
let formatter = DateFormatter()
将你想要的格式提供给格式化程序:
formatter.dateFormat = "dd.MM.yyyy"
获取结果字符串:
let result = formatter.string(from: date)
设置你的标签:
label.text = result
结果:
15.09.2016
【讨论】:
在 Swift 4.2 中,DateFormatter 具有 .dateStyle 和 .timeStyle 属性。您可以将 dateStyle 与 locale 结合使用,而不是上面有些不透明的语法(提供更细粒度的控制 - 请参阅 nsdateformatter.com)。【参考方案2】:在 Swift 3.0 中你可以这样做:
let date = Date()
let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day], from: date)
let year = components.year
let month = components.month
let day = components.day
print(year)
print(month)
print(day)
【讨论】:
即使在 Swift 3 之后,我也无法相信日期处理如此糟糕!考虑到 .NET 中的 Date 在 2002 年的版本 1 中,这是可耻的。 DateTime.Now 或 DateTime.Now.Month 容易多了! 你怎么知道那天是周一、周二还是周三? 如果您想以更简单的方式在 swift 中与日期交互,请查看 SwiftDate Cocoapod。 @csmith 那是因为它仍然是旧的 NSDate 但具有 Swift 语法。它没有被重写。不过你是对的,与它一起工作有点痛苦。以上是关于在 Swift 3 中获取当前日期? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Realm swift 中过滤为当前日期创建的事件?