2013-09-05 13 views
8

Sto provando a pint il mese, il giorno e l'anno, separatamente alla console.Vai alla data di stampa sulla console

Devo essere in grado di accedere a ciascuna sezione della data individualmente. Posso ottenere il tutto usando time.now() dal pacchetto "time" ma sono bloccato dopo.

Qualcuno può mostrarmi dove sto sbagliando, per favore?

+0

Aggiunto in modo da stampare il mese come un intero caso è utile (a quanto pare ho dimenticato di presentare la modifica di ieri sera :)). – RocketDonkey

risposta

8

Sei in realtà molto vicino :) Poi valore restituito da time.Now() è un tipo Time, e guardando la documentazione del pacchetto here vi mostrerà alcuni dei metodi è possibile chiamare (per una panoramica veloce, andare here e guardare sotto type Time). Per ottenere ciascuno degli attributi che hai citato sopra, si può fare questo:

package main 

import (
    "fmt" 
    "time" 
) 

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

Se siete interessati a stampare il Month come un intero, è possibile utilizzare la funzione di Printf:

package main 

import (
    "fmt" 
    "time" 
) 

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

Giorno, Il mese e l'anno possono essere estratti da un tipo time.Time con il metodo Date(). Restituirà valori sia di giorno che di anno e un time.Month per il mese. È inoltre possibile estrarre i valori di ore, minuti e secondi con il metodo Clock(), che restituisce valori interi per tutti i risultati.

Ad esempio:

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) 
} 

Si ricorda che la variabile Month (mon) viene restituito come time.Month, e non come una stringa, o di un int. È ancora possibile stamparlo con fmt.Print() in quanto ha un metodo String().

Playground

+0

grazie mille per l'aiuto. come si converte il mese in un int? – jamcoder

+0

come si restituisce time.month come numero intero? ho giocato con questo per un po 'e non ho ottenuto da nessuna parte. – jamcoder