Carbon is a lightweight time package for Go that provides semantic and developer-friendly APIs for date and time operations.
The package addresses the complexity of working with dates, times, and timezones in Go by offering an intuitive interface that doesn't require external dependencies. It handles multiple calendar systems including Gregorian, Hebrew, Jalaali, Julian, and lunar calendars, along with comprehensive timezone support and internationalization capabilities. The tool provides methods for common time operations with a focus on readability and ease of use, defaulting to UTC timezone, English locale, and Monday as the start of the week.
Developers should choose this package if they need straightforward time manipulation without adding third-party dependencies to their projects. It suits applications requiring multi-calendar support or internationalization across different locales. The package integrates with common Go ORM tools like GORM and XORM. The README references other time libraries as inspirations but does not make direct comparisons to them.
The project maintains comprehensive unit test coverage and has been adopted by established organizations. Development activity shows consistent maintenance with documentation available in multiple languages, including English, simplified Chinese, Japanese, and Korean. The project accepts contributions for adding new localized language support through a documented contribution process.