英文:
Add zero padding to numbers with fmt.Printf
问题
我对于函数fmt.Printf
有一个问题;为什么当我使用这个函数时,程序会省略第一个零?
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
year, month, day := now.Date()
hour, min, sec := now.Clock()
fmt.Printf("%d-%s-%d_%d:%d:%d\n", year, month, day, hour, min, sec)
}
这段代码返回的结果是:2017-April-26_10:3:2,而不是10:03:02。
有人可以帮助我吗?
英文:
I have a question about the function fmt.Printf;
Why when I use this functions, the program omits the first zero?
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
year, month, day := now.Date()
hour, min, sec := now.Clock()
fmt.Printf("%d-%s-%d_%d:%d:%d\n", year, month, day, hour, min, sec)
}
That returns: 2017-April-26_10:3:2 at 10h03:02
Can anyone help me?
答案1
得分: 3
只需将%d
替换为%02d
,即:
fmt.Printf("%d-%s-%02d_%02d:%02d:%02d\n", year, month, day, hour, min, sec)
英文:
Simply replace %d
with %02d
i.e.
fmt.Printf("%d-%s-%02d_%02d:%02d:%02d\n", year, month, day, hour, min, sec)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论