盘点3个日期开源库,方便我们实现时间地区转换、农历、节日、格式化等功能。
1、NodaTime
NodaTime是一个为.NET设计的开源高级日期和时间库,它可以让开发人员更容易、更精确、更灵活的方式来处理日期、时间。
时区支持:提供了全面的时区支持,允许开发者处理不同时区的日期和时间,而无需担心时区转换和夏令时调整等复杂问题。
精确性:提供了高精度的时间表示,包括纳秒级别的精度,适用于需要高精度时间戳的场景。
灵活的日期时间操作:提供了丰富的日期时间操作,如日期时间的比较、加减、格式化等,使开发者能够更灵活地处理日期时间数据。
项目地址:https://github.com/nodatime/nodatime
2、DateTimeExtensions
该项目主要是为System.DateTime和System.DateTimeOffset的编写的扩展方法,包括自然日期差值的文本表示(精确和人性化四舍五入)、多个时区的节假日和工作日计算。
核心扩展方法有:
1、DateTimeOffset和DateTime工作日、节假日的扩展方法;
2、本地化的自然时间差;
3、DateTime和DateTimeOffset常用的扩展方法。
项目地址:https://github.com/joaomatossilva/DateTimeExtensions
3、lunar-csharp
支持多开发语言版本、支持阳历、阴历、佛历和道历的日历转换的工具,还支持星座、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。
此工具功能非常全面,用于做节日、节气提醒、黄历查询、星座查询等等。
该工具有多个开发语言版本:javascript、java、c#、php、python、go、typescript、flutter、swift。
Github: https://github.com/6tail/lunar-csharp
Gitee:https://gitee.com/6tail/lunar-csharp