我在游乐场尝试了这个(我在评论中显示它打印的内容):
extension NSDate {
static func currentDate() -> NSDate {
let calendar = NSCalendar.currentCalendar()
calendar.timeZone = NSTimeZone.localTimeZone()
calendar.locale = NSLocale.currentLocale()
let components = calendar.components([.Year, .Month, .Day], fromDate: NSDate())
components.hour = 00
components.minute = 00
components.second = 00
return calendar.dateFromComponents(components)! // "Dec 29, 2015, 12:00 AM"
}
}
print(NSDate.currentDate()) // "2015-12-28 22:00:00 +0000
任何人都知道这里发生了什么?
我只想要当前日期(年/月/日)。我做了这个扩展,因为我遇到NSDate()
的问题,它被关闭了2个小时(显示上午11.24,而不是下午1.24)
答案 0 :(得分:1)
Swift中的[NSDate date]
和Objective-C中的let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = /*your desired format*/
let date = dateFormatter.dateFromString(/*your date string*/)
都保留了UTC日期。你无法改变它的行为。
但是,您可以创建格式化程序并转换为所需的区域设置和日期格式,并将日期存储为字符串值。
<TextView
android:id="@+id/rotated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="#AA000F"
android:rotation="-50"
android:text="ABC"
android:textColor="#44CC44"
android:textSize="32sp" />