我在这里搜索过但是找不到有用的线程来完成我想要的东西。我是Swift的新手,所以我对此并不了解。因此,我想设置一个特定的时区,用户可以通过应用程序的设置进行更改。我想要的是当用户改变所述时区时它应该通过应用程序反映出来。是的我可以在每个" DateFormatter"中设置时区。但是每次创建DateFormatter时我都不想写它。
当我创建DateFormatter的实例时,是否有办法将时区设置为用户选择的时区?是否可以使用DateFormatter的扩展来执行此操作?
答案 0 :(得分:2)
您可以做的是DateFormatter
的扩展,因为您将此Date
设置为String
以形成您的日期,因此为extension Date {
struct CustomDateFormatter {
static var currentTimeZone = TimeZone.current //Set default timeZone that you want
static func dateFormatter(withFormat format: String) -> DateFormatter {
let formatter = DateFormatter()
formatter.timeZone = CustomDateFormatter.currentTimeZone
formatter.dateFormat = format
return formatter
}
}
func toDateString(withFormat format: String) -> String {
return CustomDateFormatter.dateFormatter(withFormat: format).string(from: self)
}
}
extension String {
func toDate(withFormat format: String) -> Date? {
return Date.CustomDateFormatter.dateFormatter(withFormat: format).date(from: self)
}
}
制作两个扩展名为TimeZone
一个用于Date
。
String
现在,您需要设置//Set timezone
Date.CustomDateFormatter.currentTimeZone = TimeZone(abbreviation: "GMT")!
//get date from String
let date = "31-05-2017 07:30:05".toDate(withFormat: "dd-MM-yyyy HH:mm:ss")
//get string from date with specific format
let dateString = Date().toDateString(withFormat: "dd-MM-yyyy HH:mm:ss")
或想要将<?php
if ($model->load($request->post()) {
$model->bundle_numbers = implode(",", $model->bundle_numbers);
$model->save();
return //wherever you want return
}
转换为tuple
,反之亦然,请使用此扩展程序。
pygame.Surface.blit(pygame.Surface((display_width, display_height)), welcomeMessageBackground, area = None, special_flags = 0)