go-carbon v2.6.0 重大版本更新,轻量级、语义化、对开发者友好的 golang 时间处理库

news/2025/3/26 20:23:59/文章来源:https://www.cnblogs.com/gouguoyin/p/18790784

carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。

carbon 目前已捐赠给 dromara 开源组织,已被 awesome-go 收录,并获得 gitee 2024 年最有价值项目(GVP)和 gitcode 2024 年度 G-Star 项目,如果您觉得不错,请给个 star 吧

github.com/dromara/carbon

gitee.com/dromara/carbon

gitcode.com/dromara/carbon

更新日志

  • golang 最低版本依赖升级到 1.18
  • carbon, julian, lunar, persian 从值传递改成指针传递
  • 新增 ZoneName 方法获取时区名称
  • 新增 HasError 方法判断是否有错误
  • 新增 IsNil 方法判断是否是 nil
  • 新增 Copy 方法对 carbon 进行深度复制
  • 新增 WeekStartsAt 方法获取周起始日期
  • 新增示例文件 xxx_example.go
  • 新增constant.go 文件,将常量从 carbon.go 文件迁移到此文件
  • 默认全局时区从 Local 更改为 UTC
  • Offset 方法更名为 ZoneOffset
  • IsSetTestNow 方法更名为 IsTestNow
  • UnSetTestNow 方法更名为 CleanTestNow
  • 移除 Location 方法,由 Timezone 方法替代
  • 更改 IsValidIsInvalid 方法判断逻辑,zero time 不再视为无效时间
  • 设置全局默认时区时同步更新 time.Local
  • 重构 database.go,移除 carbon.DateTimecarbon. DateTimeMilli carbon.DateTimeMicrocarbon.DateTimeNanocarbon. Datecarbon.DateMillicarbon.DateMicrocarbon.DateNanocarbon.Timecarbon.TimeMillicarbon.TimeMicrocarbon.TimeNanocarbon.Timestampcarbon.TimestampMilli carbon.TimestampMicrocarbon.TimestampNano 字段类型, 使用泛型字段替代以实现 MarshalJSON/UnmarshalJSON 时自定义输出格式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/905284.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署高可用 k8s 集群

部署环境:Debian12(bookworm) # 查看 CPU 是否支持虚拟化 grep -E (vmx|svm) /proc/cpuinfo (有输出结果代表支持) # 第一步:安装虚拟化所需软件并启动对应服务 apt updateapt install -y qemu-kvm libvirt-daemon-system libvirt-clients virtinst # qemu-kvm kvm 虚…

XCVU9P板卡设计原理图:509-U250E 基于VU13P的4路QSFP28光纤PCIeX16收发卡

一、板卡概述基于XCVU9P的4路QSFP28光纤PCIeX16收发卡。该板卡要求符合PCIe 3.0标准,包含一片XCVU9P-2FLGA2014I、4组64-bit/8GB DDR4;4路QSFP28 4X光纤,每路光纤支持4X25Gbps,双向;支持36路IO。板卡工作温度范围0到60℃,板卡设计加工包含散热装置,支持服务器风冷散热。…

Android 创建与跳转

目录:布局代码 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.and…

图像信号处理平台设计原理图:721-基于VU9P的32+8路光纤交换板卡硬件设计

基于TSI721的 PCIe转RapidIO高速数据传输卡 一、板卡概述本卡是基于IDT TSI721桥芯片,用于实现Serial RapidIO(S-RIO) Gen2.1到PCI Express (PCIE) Gen2.1协议转换,将基于RapidIO的对等网络多重处理器集群拓展至x86处理器环境,能够实现基于RapidIO的对等网络多重处理器集群和…

Vue3 路由, Vue router (Part2)

Vue 路由 Vue routerpath: name: component: redirect: children: meta:在Web开发中,特别是在使用Vue.js这类现代前端框架时,经常会涉及到路由和组件的组织方式。你提到的路径(path)、名称(name)、组件(component)、重定向(redirect)、子路由(children)和元信息(m…

浏览器 + AI 插件

浏览器添加 AI 插件,就是给浏览器安装振翅高飞的翅膀。前情概要 我是浏览器的重度使用者,每天的工作几乎都可以在浏览器端完成,所以对浏览器很依赖。碰到浏览器插件,自然都要高看一眼,因为她们可以增强浏览器的功能,昨天看到聚合网站今日热榜中的栏目 “小众软件” 介绍 …

Contest3924 - 计科23级算法设计与分析平时作业-03

题目链接 A.Knight Moves 题面思路 马的bfs、最短路径问题。模板题 示例代码 #include<bits/stdc++.h>using namespace std;#define ll long long //#define int ll #define pii pair<int, int> #define all(x) x.begin(),x.end() #define fer(i, m, n) for(int i …

UML之包含用例

UML提供include机制避免用例重复,实现共享。本文介绍创建被包含用例的步骤,并通过实例展示其在基础用例共享、复杂用例分解及继承用例复用等场景下的应用。对于规模较大的用例,建模过程中经常会发现多个用例存在共享相同的子目标或子行为的情况。为避免重复并实现共享,UML提…

基于ESP32的物联网传感器和超声波距离传感器,Watmonitor可进行实时水位监测

Watmonitor是一个使用物联网传感器进行实时水位监测的自托管应用程序,具有多语言支持和易于访问的数据。Watmonitor是一个多功能的、自托管的web应用程序,专为实时水位监测而设计。使用基于ESP32的物联网传感器和超声波距离传感器,它可以跟踪各种环境中的水位,如水井,水箱…

【Java】【SpringBoot】Quartz——动态任务调度

回顾:前面学习了quartz的基础使用:https://www.cnblogs.com/luyj00436/p/18781141 定时任务可能是按照预设的时间进行。可是实际中,我们肯定希望自由的进行任务生成、暂停、恢复、删除、更新等操作。 Quartz本身没有提供动态调度的功能,需要自己根据相关的API开发。 场景订…

GrapeCity Documents V8.0 新版本特性

GcExcel V8.0 新版本特性丰富,包括:数据导入方面,可从多种数据源(如自定义对象、DataTable 等)导入,为 IRange.ImportData (..) 新增重载;假设分析上,通过 IWorksheet.Scenarios 接口支持 “方案” 功能,可进行多种操作且受保护工作表也能编辑;数据透视表能绑定表格数…