From fa5a1cb54f70ffab621f13749d835983101a50f4 Mon Sep 17 00:00:00 2001 From: Tobias Kunicke Date: Sat, 6 Feb 2016 00:08:02 +0100 Subject: [PATCH 1/2] regulate timezone for milestone.deadline --- models/issue.go | 1 + 1 file changed, 1 insertion(+) diff --git a/models/issue.go b/models/issue.go index 6188da5c6..326454630 100644 --- a/models/issue.go +++ b/models/issue.go @@ -1179,6 +1179,7 @@ func (m *Milestone) AfterSet(colName string, _ xorm.Cell) { if m.Deadline.Year() == 9999 { return } + m.Deadline = regulateTimeZone(m.Deadline) m.DeadlineString = m.Deadline.Format("2006-01-02") if time.Now().After(m.Deadline) { From bc0eee48d5750bc57bd7f4b4a485222a91357220 Mon Sep 17 00:00:00 2001 From: Tobias Kunicke Date: Sat, 6 Feb 2016 00:10:32 +0100 Subject: [PATCH 2/2] parse milestone.deadline as local time --- routers/repo/issue.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 57852a5ad..635dee930 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -1079,7 +1079,7 @@ func NewMilestonePost(ctx *middleware.Context, form auth.CreateMilestoneForm) { if len(form.Deadline) == 0 { form.Deadline = "9999-12-31" } - deadline, err := time.Parse("2006-01-02", form.Deadline) + deadline, err := time.ParseInLocation("2006-01-02", form.Deadline, time.Local) if err != nil { ctx.Data["Err_Deadline"] = true ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), MILESTONE_NEW, &form) @@ -1139,7 +1139,7 @@ func EditMilestonePost(ctx *middleware.Context, form auth.CreateMilestoneForm) { if len(form.Deadline) == 0 { form.Deadline = "9999-12-31" } - deadline, err := time.Parse("2006-01-02", form.Deadline) + deadline, err := time.ParseInLocation("2006-01-02", form.Deadline, time.Local) if err != nil { ctx.Data["Err_Deadline"] = true ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), MILESTONE_NEW, &form)