Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get current hour and minutes in two digit using go?

Tags:

time

go

I'm using time package in go for taking the time into string but there is a problem is that when the time is 9:00 AM or 10:00 AM then the below code will output for 9:00AM is 90 and for 10:00AM is 100 but if there is time 9:11AM or 10:11AM then the output for 9:11AM is 911 and for 10:11AM is 1011 The problem is if there is 10:00AM then it will give the minutes in two digits number not in single single digit. The code I'm using is

hours, minutes, _ := time.Now().Clock()
fmt.Println(hours, minutes)

I want that it will produce the result in two digit like 10:00AM then it will give 1000 and if there is 10:11AM then it will give me 1011.

Basically I want to convert them into the string using:-

 currUTCTimeInString := strconv.Itoa(hours) + strconv.Itoa(minutes)

Can anybody help me for this.

like image 343
misha Avatar asked Oct 08 '18 05:10

misha


1 Answers

For example,

package main

import (
    "fmt"
    "time"
)

func main() {
    hours, minutes, _ := time.Now().Clock()
    currUTCTimeInString := fmt.Sprintf("%d%02d", hours, minutes)
    fmt.Println(currUTCTimeInString)
    hours, minutes = 9, 0
    currUTCTimeInString = fmt.Sprintf("%d%02d", hours, minutes)
    fmt.Println(currUTCTimeInString)
    hours, minutes = 10, 0
    currUTCTimeInString = fmt.Sprintf("%d%02d", hours, minutes)
    fmt.Println(currUTCTimeInString)
}

Output:

2300
900
1000

Or, using strconv,

package main

import (
    "fmt"
    "strconv"
)

func main() {
    hours, minutes := 9, 00
    h := strconv.Itoa(hours)
    m := strconv.Itoa(minutes)
    if minutes < 10 {
        m = "0" + m
    }
    hm := h + m
    fmt.Println(hm)
}

Output:

900
like image 186
peterSO Avatar answered Oct 02 '22 01:10

peterSO