项目作者: andboson

项目描述 :
Carbon - golang time toolkit
高级语言: Go
项目地址: git://github.com/andboson/carbon.git
创建时间: 2016-02-09T16:29:22Z
项目社区:https://github.com/andboson/carbon

开源协议:MIT License

下载


Carbon

Is a time toolkit for golang, go implementation of http://carbon.nesbot.com/ (PHP time toolkit)

Changelog

  • Added json Unmarshal function. Now you can use carbon.Carbon instead time.Time in structures. It can parse many time formats
  • added create from string datetime functon
  • added create from time.Time function
  • init

Install

  1. go get -u github.com/andboson/carbon

Usage

  1. import "github.com/andboson/carbon"
  2. time.Now() // 2013-11-18 17:51:49
  3. log.Printf("%s", Now()) // 2016-02-10 13:22:13.566251776 +0200 EET
  4. log.Printf("%s", Now().AddDays(2)) // 2016-02-12 13:22:13.56669336 +0200 EET
  5. log.Printf("%s", Now().SubDay()) // 2016-02-09 13:22:13.566810314 +0200 EETT
  6. log.Printf("%s", Now().ToDateTimeString()) // 2016-02-10 13:22:13
  7. log.Printf("%s", Now().SetTZ("UTC")) // 2016-02-10 11:22:13.567020044 +0000 UTC
  8. time2 := Now().AddDay()
  9. log.Printf("%s", Now().DiffInHours(*time2)) // -24
  10. time3 := Now().SubDay()
  11. log.Printf("%s", Now().Between(*time3, *time2)) // true
  12. stamp := "2015-01-25 15:04:55"
  13. time4, _ := CreateFrom(stamp) // 2015-01-25 15:04:55 +0000 UTC
  14. log.Printf("%s", Now().Gt(*time4)) // true
  15. log.Printf("%s", Now().StartOfHour()) // 2016-02-10 14:00:00 +0200 EET
  16. log.Printf("%s", Now().EndOfHour()) // 2016-02-10 14:59:59 +0200 EET
  17. log.Printf("%s", Now().StartOfDay()) // 2016-02-10 00:00:00 +0200 EET
  18. log.Printf("%s", Now().EndOfDay()) // 2016-02-10 23:59:59 +0200 EET
  19. log.Printf("%s", Now().StartOfWeek()) // 2016-02-08 00:00:00 +0200 EET
  20. log.Printf("%s", Now().EndOfWeek()) // 2016-02-14 23:59:59 +0200 EET
  21. log.Printf("%s", Now().StartOfMonth()) // 2016-02-01 00:00:00 +0200 EET
  22. log.Printf("%s", Now().EndOfMonth()) // 2016-02-29 23:59:59 +0200 EET
  23. log.Printf("%s", Now().StartOfYear()) // 2016-01-01 00:00:00 +0200 EET
  24. log.Printf("%s", Now().EndOfYear()) // 2016-12-31 23:59:59 +0200 EET

see https://github.com/andboson/carbon/blob/master/carbon_test.go for samples