print times in local timezone (#217)

dont resolve location ahead of time

fixup! use local timezone for all printed times

fixup! use local timezone for all printed times

use local timezone for all printed times

Co-authored-by: Norwin Roosen <git@nroo.de>
Reviewed-on: https://gitea.com/gitea/tea/pulls/217
Reviewed-by: techknowlogick <techknowlogick@gitea.io>
Reviewed-by: 6543 <6543@noreply.gitea.io>
This commit is contained in:
Norwin 2020-10-05 12:23:32 +00:00 committed by 6543
parent 30c3aa4f5b
commit 03ec6d0eee
10 changed files with 19 additions and 15 deletions

View File

@ -83,7 +83,7 @@ func RunIssuesList(ctx *cli.Context) error {
string(issue.State),
author,
mile,
issue.Updated.Format("2006-01-02 15:04:05"),
print.FormatTime(issue.Updated),
},
)
}

View File

@ -137,7 +137,7 @@ func runMilestoneIssueList(ctx *cli.Context) error {
string(issue.State),
kind,
name,
issue.Updated.Format("2006-01-02 15:04:05"),
print.FormatTime(issue.Updated),
issue.Title,
},
)

View File

@ -72,7 +72,7 @@ func RunMilestonesList(ctx *cli.Context) error {
var deadline = ""
if m.Deadline != nil && !m.Deadline.IsZero() {
deadline = m.Deadline.Format("2006-01-02 15:04:05")
deadline = print.FormatTime(*m.Deadline)
}
item := []string{

View File

@ -84,7 +84,7 @@ func RunPullsList(ctx *cli.Context) error {
string(pr.State),
author,
mile,
pr.Updated.Format("2006-01-02 15:04:05"),
print.FormatTime(*pr.Updated),
},
)
}

View File

@ -65,7 +65,7 @@ func RunReleasesList(ctx *cli.Context) error {
[]string{
release.TagName,
release.Title,
release.PublishedAt.Format("2006-01-02 15:04:05"),
print.FormatTime(release.PublishedAt),
status,
release.TarURL,
},

View File

@ -18,7 +18,7 @@ func IssueDetails(issue *gitea.Issue) {
issue.Title,
issue.State,
issue.Poster.UserName,
issue.Created.Format("2006-01-02 15:04:05"),
FormatTime(issue.Created),
issue.Body,
))
}

View File

@ -19,6 +19,6 @@ func MilestoneDetails(milestone *gitea.Milestone) {
fmt.Printf("\n%s\n", milestone.Description)
}
if milestone.Deadline != nil && !milestone.Deadline.IsZero() {
fmt.Printf("\nDeadline: %s\n", milestone.Deadline.Format("2006-01-02 15:04:05"))
fmt.Printf("\nDeadline: %s\n", FormatTime(*milestone.Deadline))
}
}

View File

@ -6,6 +6,7 @@ package print
import (
"fmt"
"time"
)
// formatSize get kb in int and return string
@ -23,3 +24,12 @@ func formatSize(kb int64) string {
}
return fmt.Sprintf("%d Tb", gb/1024)
}
// FormatTime give a date-time in local timezone if available
func FormatTime(t time.Time) string {
location, err := time.LoadLocation("Local")
if err != nil {
return t.Format("2006-01-02 15:04 UTC")
}
return t.In(location).Format("2006-01-02 15:04")
}

View File

@ -18,7 +18,7 @@ func PullDetails(pr *gitea.PullRequest) {
pr.Title,
pr.State,
pr.Poster.UserName,
pr.Created.Format("2006-01-02 15:04:05"),
FormatTime(*pr.Created),
pr.Body,
))
}

View File

@ -6,7 +6,6 @@ package print
import (
"fmt"
"log"
"strconv"
"time"
@ -27,11 +26,6 @@ func TrackedTimesList(times []*gitea.TrackedTime, outputType string, from, until
var outputValues [][]string
var totalDuration int64
localLoc, err := time.LoadLocation("Local") // local timezone for time formatting
if err != nil {
log.Fatal(err)
}
for _, t := range times {
if !from.IsZero() && from.After(t.Created) {
continue
@ -45,7 +39,7 @@ func TrackedTimesList(times []*gitea.TrackedTime, outputType string, from, until
outputValues = append(
outputValues,
[]string{
t.Created.In(localLoc).Format("2006-01-02 15:04:05"),
FormatTime(t.Created),
"#" + strconv.FormatInt(t.Issue.Index, 10),
t.UserName,
formatDuration(t.Time, outputType),