问题 将打印日期转到控制台


我正在尝试将月,日和年分别添加到控制台。

我需要能够单独访问日期的每个部分。我可以从“时间”包中使用time.now()来获取整个事情,但之后我就被卡住了。

有人能告诉我哪里出错吗?


8447
2017-09-05 03:47


起源

添加的方式是将月打印为整数,以防它有用(显然我忘了昨晚提交编辑:))。 - RocketDonkey


答案:


你实际上非常接近:)然后从中返回值 time.Now() 是一个 Time 键入,并查看包文档 这里 将向您展示一些您可以调用的方法(为了更快的概述,请转到 这里 并查看下 type Time)。要获得上面提到的每个属性,您可以这样做:

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.Month())
    fmt.Println(t.Day())
    fmt.Println(t.Year())
}

如果你有兴趣印刷 Month 作为整数,你可以使用 Printf 功能:

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Printf("%d\n", t.Month())
}

11
2017-09-05 03:54





可以从a中提取日,月和年 time.Time 输入 Date() 方法。它将返回白天和年份的整数,并且a time.Month 这个月。您还可以使用提取小时,分钟和秒值 Clock() 方法,返回所有结果的整数。

例如:

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    y, mon, d := t.Date()
    h, m, s := t.Clock()
    fmt.Println("Year: ", y)
    fmt.Println("Month: ", mon)
    fmt.Println("Day: ", d)
    fmt.Println("Hour: ", h)
    fmt.Println("Minute: ", m)
    fmt.Println("Second: ", s)
}

请记住Month变量(mon)作为一个返回 time.Month,而不是作为字符串或int。您仍然可以打印它 fmt.Print() 因为它有一个 String() 方法。

操场


1
2017-09-05 03:54



非常感谢你们的帮助。你怎么把月转换为int? - jamcoder
你如何将time.month作为整数返回?我一直在玩这个有一段时间没有得到任何地方。 - jamcoder