GoDasturchi
Formatting and Parsing

Formatting and Parsing

Formatlash va tahlil qilish

Go'da vaqtni formatlash boshqa tillardan farq qiladi: %Y-%m-%d kabi belgilar o'rniga, aniq bir namuna sana ishlatiladi — 2006-01-02 15:04:05. Bu sana Go yaratuvchilari tanlagan "yodda saqlash oson" namuna (2006-01-02, 15:04:05 — ketma-ket 1,2,3,4,5,6,7).

example.go
package main

import (
	"fmt"
	"time"
)

func main() {
	t := time.Date(2026, time.September, 6, 14, 30, 0, 0, time.UTC)
	fmt.Println(t.Format("2006-01-02"))
	fmt.Println(t.Format("02.01.2006 15:04"))

	parsed, err := time.Parse("2006-01-02", "2026-12-25")
	if err != nil {
		fmt.Println("xato:", err)
		return
	}
	fmt.Println(parsed.Month(), parsed.Day())
}

t.Format(namuna) vaqtni namuna bo'yicha matnga aylantiradi — namunadagi har bir raqamni o'zining ma'nosiga (yil, oy, kun...) almashtiradi. time.Parse(namuna, matn) esa aksi: matndan vaqtni o'qib chiqadi, agar matn namunaga mos kelmasa xato qaytaradi.

>_ Exercise

Sanani boshqa formatga o'giring va matndan sanani o'qing.

  • t'ni "02/01/2006" formatida chop eting
  • "2026-03-15" matnini time.Parse bilan o'qing
  • o'qilgan sananing kunini (Day()) chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Go'da vaqt formatlash "namuna sana" (2006-01-02 15:04:05) orqali ishlaydi — bu boshqa tillardagi %Y-%m-%d uslubidan farqli, lekin o'rgangach juda tabiiy.

NEXT UP

Timers and Tickers

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Formatting and Parsing

Formatlash va tahlil qilish

Go'da vaqtni formatlash boshqa tillardan farq qiladi: %Y-%m-%d kabi belgilar o'rniga, aniq bir namuna sana ishlatiladi — 2006-01-02 15:04:05. Bu sana Go yaratuvchilari tanlagan "yodda saqlash oson" namuna (2006-01-02, 15:04:05 — ketma-ket 1,2,3,4,5,6,7).

example.go
package main

import (
	"fmt"
	"time"
)

func main() {
	t := time.Date(2026, time.September, 6, 14, 30, 0, 0, time.UTC)
	fmt.Println(t.Format("2006-01-02"))
	fmt.Println(t.Format("02.01.2006 15:04"))

	parsed, err := time.Parse("2006-01-02", "2026-12-25")
	if err != nil {
		fmt.Println("xato:", err)
		return
	}
	fmt.Println(parsed.Month(), parsed.Day())
}

t.Format(namuna) vaqtni namuna bo'yicha matnga aylantiradi — namunadagi har bir raqamni o'zining ma'nosiga (yil, oy, kun...) almashtiradi. time.Parse(namuna, matn) esa aksi: matndan vaqtni o'qib chiqadi, agar matn namunaga mos kelmasa xato qaytaradi.

>_ Exercise

Sanani boshqa formatga o'giring va matndan sanani o'qing.

  • t'ni "02/01/2006" formatida chop eting
  • "2026-03-15" matnini time.Parse bilan o'qing
  • o'qilgan sananing kunini (Day()) chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Go'da vaqt formatlash "namuna sana" (2006-01-02 15:04:05) orqali ishlaydi — bu boshqa tillardagi %Y-%m-%d uslubidan farqli, lekin o'rgangach juda tabiiy.

NEXT UP

Timers and Tickers