在swift中我使用我的DatePickerView来获取用户的一些时间输入。我需要将它转换为当地时间并且效果很好。
守则是:
package main
import (
"fmt"
// This assumes that the app/ folder lives directly in $GOPATH if that's
// not the case the import won't work.
"app/product"
"app/user"
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
)
func main() {
db, err := gorm.Open("postgres", fmt.Sprintf("host=localhost sslmode=disable user=postgres password="))
if err != nil {
fmt.Println(err)
}
defer db.Close()
r := gin.Default()
// manually initialize imported packages
user.Init(db, r)
product.Init(db, r)
r.Run(":8080")
}
并且示例输出为" 12:30"(这是GMT 3格式,如果我尝试将其转换为日期它将示例转换为" 9:30"。
我的问题是我需要在Local Notifications中使用这段时间,但它只接受dateComponents和dateComponents只接受" .hour"和" .minute"属性。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
dateFormatter.timeZone = TimeZone.autoupdatingCurrent
selectedMorningTime = dateFormatter.string(from: morningHour.date)
selectedEveningTime = dateFormatter.string(from: eveningHour.date)
我如何将时间分为小时和分钟,所以我可以像这个例子一样使用它:
dateComponentsForMorning.hour = 12
dateComponentsForMorning.minute = 30
答案 0 :(得分:0)
您可以使用日历方法dateComponents从日期选择器中获取时间组件,并使用它来安排通知:
let morningHour = UIDatePicker()
let selectedMorningTime = Calendar.current.dateComponents([.hour,.minute], from: morningHour.date)
print("Hour:", selectedMorningTime.hour!, ", Minute:", selectedMorningTime.minute!) // "Hour: 2 , Minute: 24\n"