initial commit
This commit is contained in:
57
cmd/demo/demo.go
Normal file
57
cmd/demo/demo.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
"git.haelnorr.com/h/timefmt"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("=== timefmt Demo ===\n")
|
||||
|
||||
// 1. Building a custom format
|
||||
fmt.Println("1. Building a custom format:")
|
||||
format := timefmt.NewBuilder().
|
||||
Year4().Dash().
|
||||
MonthNumeric2().Dash().
|
||||
DayNumeric2().Space().
|
||||
Hour24().Colon().
|
||||
Minute().Colon().
|
||||
Second().
|
||||
Build()
|
||||
|
||||
fmt.Printf(" Go format: %s\n", format.GoFormat())
|
||||
fmt.Printf(" LDML: %s\n", format.LDML())
|
||||
fmt.Printf(" Description: %s\n\n", format.Description())
|
||||
|
||||
// 2. Using pre-built formats
|
||||
fmt.Println("2. Pre-built formats:")
|
||||
now := time.Now()
|
||||
fmt.Printf(" ISO8601: %s\n", timefmt.ISO8601.Format(now))
|
||||
fmt.Printf(" DateTime: %s\n", timefmt.DateTime.Format(now))
|
||||
fmt.Printf(" DateUS: %s\n", timefmt.DateUS.Format(now))
|
||||
fmt.Printf(" Kitchen: %s\n\n", timefmt.Kitchen.Format(now))
|
||||
|
||||
// 3. Parsing existing Go formats
|
||||
fmt.Println("3. Parsing an existing Go format:")
|
||||
parsed, _ := timefmt.ParseGoFormat("02/01/2006")
|
||||
fmt.Printf(" Input: 02/01/2006\n")
|
||||
fmt.Printf(" LDML: %s\n", parsed.LDML())
|
||||
fmt.Printf(" Description: %s\n\n", parsed.Description())
|
||||
|
||||
// 4. Complex format example
|
||||
fmt.Println("4. Complex format with custom text:")
|
||||
complex := timefmt.NewBuilder().
|
||||
WeekdayFull().Comma().
|
||||
MonthFull().Space().
|
||||
DayNumeric().Comma().
|
||||
Year4().Space().
|
||||
Literal("at").Space().
|
||||
Hour12().Colon().
|
||||
Minute().Space().
|
||||
AMPM().
|
||||
Build()
|
||||
|
||||
fmt.Printf(" Formatted: %s\n", complex.Format(now))
|
||||
fmt.Printf(" LDML: %s\n", complex.LDML())
|
||||
}
|
||||
Reference in New Issue
Block a user