From 56cd590025f347d6074539c829f36ac46a63a9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20H=C3=A5rek=20Andreassen?= Date: Wed, 2 Oct 2024 20:54:36 +0200 Subject: [PATCH] feat: Add flag for UTC time defaults to local time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tim Hårek Andreassen --- cmd/flags/flags.go | 1 + cmd/forecast.go | 8 +++++++- cmd/root.go | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/flags/flags.go b/cmd/flags/flags.go index c5fa181..40bf4b1 100644 --- a/cmd/flags/flags.go +++ b/cmd/flags/flags.go @@ -5,4 +5,5 @@ const ( LAT = "lat" JSON = "json" INTERVAL = "interval" + UTC = "utc" ) diff --git a/cmd/forecast.go b/cmd/forecast.go index 61bacd6..4feeffb 100644 --- a/cmd/forecast.go +++ b/cmd/forecast.go @@ -30,6 +30,8 @@ func init() { func forecast(cmd *cobra.Command, args []string) { isJson, err := cmd.Flags().GetBool(flags.JSON) cobra.CheckErr(err) + isUTC, err := cmd.Flags().GetBool(flags.UTC) + cobra.CheckErr(err) lon, _ := cmd.Flags().GetFloat64(flags.LON) lat, _ := cmd.Flags().GetFloat64(flags.LAT) interval, _ := cmd.Flags().GetInt(flags.INTERVAL) @@ -91,8 +93,12 @@ func forecast(cmd *cobra.Command, args []string) { Headers("time", "temp.", "rain", "wind") for _, item := range f { + itemTime := item.Time.Local() + if isUTC { + itemTime = item.Time + } t.Row( - item.Time.Format(time.DateTime), + itemTime.Format(time.DateTime), fmt.Sprintf("%.1f °C", item.Temperature), fmt.Sprintf("%.1f mm", item.Percipitation), fmt.Sprintf("%.1f m/s %s", item.Wind.Speed, item.Wind.DirectionToString()), diff --git a/cmd/root.go b/cmd/root.go index 387bd48..7551574 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -22,6 +22,7 @@ func Execute() { func init() { rootCmd.PersistentFlags().Bool(flags.JSON, false, "Result in JSON") + rootCmd.PersistentFlags().Bool(flags.UTC, false, "Result times in UTC") rootCmd.PersistentFlags().Float64P(flags.LON, "x", 0, "Longitude coordinate") rootCmd.PersistentFlags().Float64P(flags.LAT, "y", 0, "Latitude coordinate") }