授权协议: MIT
开发语言: Google Go
操作系统: 跨平台
收录时间: 2020-09-07
提 交 者: 够过瘾

carbon 是一个轻量级、语义化、对IDE友好的日期时间处理库,是 PHP Carbon 库的 Golang 实现版本,支持链式调用和gorm、xorm等主流orm

通用用法

// 安装
go get -u gitee.com/go-package/carbon

import (
    "gitee.com/go-package/carbon"
)

// 初始化,默认时区为Local,即服务器所在时区
c := carbon.New()
// 初始化并设置时区
c := carbon.New().Timezone(carbon.PRC)

// 获取当前时间
c.Now().Format("Y-m-d H:i:s") // 2020-09-08 13:00:01
c.Now().Format("y-m-d h:i:s") // 20-09-08 01:00:01
c.Now().Format("Y/m/d") // 2020/09/08
c.Now().ToDateString() // 2020-09-08
c.Now().ToDateTimeString() // 2020-09-08 13:00:01
c.Now().ToDateStartString() // 2020-09-08 00:00:00
c.Now().ToDateEndString() // 2020-09-08 23:59:59
c.Now().ToTimeString() // 13:00:01
c.Now().ToTimeStartString() // 13:00:00
c.Now().ToTimeEndString() // 13:59:59
c.Now().ToTimestamp() // 1599272433

// 获取昨天、今天、明天
c.Yesterday() // 2020-09-07
c.Today() // 2020-09-08
c.Tomorrow() // 2020-09-09

c.StartOfYesterday() // 2020-09-07 00:00:00
c.EndOfYesterday() // 2020-09-07 23:59:59
c.StartOfToday() // 2020-09-08 00:00:00
c.EndOfToday() // 2020-09-08 23:59:59
c.StartOfTomorrow() // 2020-09-09 00:00:00
c.EndOfTomorrow() // 2020-09-09 23:59:59

// 解析标准格式时间字符串
c.Parse("2020-09-08 13:00:00").Format("YmdHis") // 20200908130000
c.Parse("2020-09-08 13:00:00").Format("Y-m-d") // 2020-09-08
c.Parse("2020-09-08").Format("Y/m/d H:i:s") // 2020/09/08 00:00:00
c.Parse("2020-09-08").Format("Y/m/d") // 2020/09/08
c.Parse("2020-09-08 13:00:00").ToDateTimeString() // 2020-09-05 13:00:00
c.Parse("2020-09-08 13:00:00").ToDateString() // 2020-09-08
c.Parse("2020-09-08 13:00:00").ToTimeString() // 13:00:00
c.Parse("2020-09-08 13:00:00").ToTimestamp() // 1599272433

在gormz中的使用(gorm.Open时必须包括parseTime=True参数)

假设数据表为users,字段有id、name、age、birthday、created_at、updated_at、deleted_at

// 用法一,使用carbon.Model自动维护id、created_at、updated_at、deleted_at
type User struct {
	carbon.Model
	Name string `json:"name"`
	Age int `json:"age"`
	Birthday carbon.ToDateTimeString `json:"birthday"`
}
user := User {
    Name: "勾国印"
    Age: 18
    Birthday: "2012-09-09 00:00:00"
}
// json.Marshal(user)输出
{
    "id": 1, 
    "name": "勾国印", 
    "age": 18, 
    "birthday": "2012-09-09 00:00:00", 
    "created_at": "2020-09-09 12:13:14", 
    "updated_at": "2020-09-09 12:13:14", 
    "deleted_at": null
}

// 用法二,不使用carbon.Model
type User struct {
	Name string `json:"name"`
	Age int `json:"age"`
	Birthday carbon.ToDateString `json:"birthday"`
	CreatedAt carbon.ToDateTimeString `json:"created_at"`
	UpdatedAt carbon.ToTimeString `json:"updated_at"`
	DeletedAt carbon.ToTimestamp `json:"deleted_at"`
}
user := User {
    Name: "勾国印"
    Age: 18
    Birthday: "2012-09-09 00:00:00"
}
// json.Marshal(user)输出
{
    "id": 1, 
    "name": "勾国印", 
    "age": 18, 
    "birthday": "2012-09-09", 
    "created_at": "2020-09-09 12:13:14", 
    "updated_at": "12:13:14", 
    "deleted_at": 1599272433
}

更多用法请查看下方软件文档

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

go-carbon 的相关博客

laravel carbon

Laravel 中默认使用的时间处理类就是 Carbon。 <?php namespace Carbon; class Carbon extends \DateTime { // c...

carbon进程

本文档对carbon里面几个进程的功能进行简要描述

carbon配置

介绍graphite里面各种配置文件的作用和配置方法

laravel Carbon函数

原文地址:https://blog.csdn.net/lbwo001/article/details/53063867 carbon官方网站:https://carbon.nesbot.com/docs/#api...

Carbon中文使用手册

篇幅较长 建议先码后看~~~~ Introduction Carbon 继承了PHP的 Datetime 类和JsonSerialiable。所以 Carbon 中没有涉及到的,但...

PHP日期和时间处理组件-Carbon

https://packagist.org/packages/nesbot/carbon 我们使用PHP时经常需要处理日期和时间,有时会被时间时区搞混淆,而Carbon是P...

laravel中Carbon包的使用详解

介绍 Carbon是对PHP DateTime模块的二次扩展;提供时间格式化,时间计算的功能; 官方主页为 http://carbon.nesbot.com/; Git...

plate complete carbon dioxide linens linen

plate complete carbon dioxide linens linen

carbon nanotubes 碳纳米管晶体管

今天抽时间回答了一下知乎提问“3nm之后,芯片制造何去何从”的问题。 后摩尔技术有很多选择,如三星正在推动的GAA和FinFET发...

go-carbon 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
够过瘾软件作者
#go-carbon# ,php carbon日期时间处理库的golang实现版本,支持gorm结构体
09/10 09:53
回复
举报
更多评论
0 评论
15 收藏
分享
返回顶部
顶部