开源.NetCore通用工具库Xmtool使用连载 - 日期时间篇

【Github源码】

简介

Xmtool是一个基于.NetCore框架的常用功能封装集成的工具类库,目的是做成一个像Java语言中的Hutool类似的工具库,将和具体业务逻辑无关的常用功能和方法进行抽象、封装,集成到一个类库中,方便使用维护,提升开发效率。

为了方便调用,将所有功能统一封装集成到静态类Xmtool中,在调用相应方法时,全部以Xmtool为入口,根据方法所属功能分类逐级调用即可;同时在一定程度上支持了链式调用,大大提升了使用便利性,也使代码看起来更加优雅。

功能

目前工具库对外主要提供了如下几个方面的封装,本篇主要针对日期时间进行使用说明。

  • 日期时间
  • 正则表达式
  • 加密解密
  • 散列算法
  • 随机值
  • 发送邮件
  • 发送短信
  • 类型判断
  • XML读取
  • Web操作
  • 图形验证码
  • 扩展动态对象
  • JSON配置文件

日期时间使用说明

DateTimeTool是Xmtool中用来提供日期时间相关方法的工具类,使用时可通过Xmtool下的DateTime方法获得。

DateTimeTool dtt = Xmtool.DateTime();

目前该工具类下主要提供了时间戳、字符串时间范围相关的方法,具体如下:

获取10位UTC时间戳

获取13位UTC时间戳

根据10位UTC时间戳逆向获得UTC日期时间

根据13位UTC时间戳逆向获得UTC日期时间

根据10位UTC时间戳逆向获得本地日期时间

根据13位UTC时间戳逆向获得本地日期时间

将字符串表示的时间范围转换为TimSpan时间段

检查字符串表示的时间范围格式是否合法

1. 获取10位UTC时间戳

public long GetUtcTimestamp10()
// 返回当前UTC时间的10位时间戳
long ts = Xmtool.DateTime().GetUtcTimestamp10();

2. 获取13位UTC时间戳

public long GetUtcTimestamp13()
// 返回当前UTC时间的13位时间戳
long ts = Xmtool.DateTime().GetUtcTimestamp13();

3. 根据10位UTC时间戳逆向获得UTC日期时间

public DateTime GetUtcDateTimeFromUtcTimestamp10(long ts)
long ts = 1660737444;
// 将传入的10位UTC时间戳ts转换为对应的UTC日期时间
DateTime dt = Xmtool.DateTime().GetUtcDateTimeFromUtcTimestamp10(ts);

4. 根据13位UTC时间戳逆向获得UTC日期时间

public DateTime GetUtcDateTimeFromUtcTimestamp13(long ts)
long ts = 1660737467850;
// 将传入的13位UTC时间戳ts转换为对应的UTC日期时间
DateTime dt = Xmtool.DateTime().GetUtcDateTimeFromUtcTimestamp13(ts);

5. 根据10位UTC时间戳逆向获得本地日期时间

public DateTime GetLocalDateTimeFromUtcTimestamp10(long ts)
long ts = 1660737444;
// 将传入的10位UTC时间戳ts转换为对应的本地化日期时间
DateTime dt = Xmtool.DateTime().GetLocalDateTimeFromUtcTimestamp10(ts);

6. 根据13位UTC时间戳逆向获得本地日期时间

public DateTime GetLocalDateTimeFromUtcTimestamp13(long ts)
long ts = 1660737467850;
// 将传入的13位UTC时间戳ts转换为对应的本地化日期时间
DateTime dt = Xmtool.DateTime().GetLocalDateTimeFromUtcTimestamp13(ts);

7. 将字符串表示的时间范围转换为TimSpan时间段

public TimeSpan? GetTimeSpanFromString(string timespan, bool throwError = true)
参数说明:

timespan: 时间段的字符表示,支持ms(毫秒)、s(秒)、m(分钟)、h(小时)、d(天);例如:60s表示60秒钟。

throwError: 转换出错时是否抛出,默认true,直接抛出错误。

string time = "20m";
// 将传入的字符串表示时间范围转换为TimeSpan时间段,通常用于解析配置文件中的超时时间等
TimeSpan? ts = Xmtool.DateTime().GetTimeSpanFromString(time);

8. 检查字符串表示的时间范围格式是否合法

public bool CheckStringTimeSpan(string timespan, bool throwError = true)
参数说明:

timespan: 时间段的字符表示,支持ms(毫秒)、s(秒)、m(分钟)、h(小时)、d(天);例如:60s表示60秒钟。

throwError: 转换出错时是否抛出,默认true,直接抛出错误。

string time = "20m";
// 判断传入的字符串表示时间范围是否为合法的时间段格式,配合GetTimeSpanFromString方法使用,提前处理错误
if (Xmtool.DateTime().CheckStringTimeSpan(time, false))
{
	TimeSpan? ts = Xmtool.DateTime().GetTimeSpanFromString(time);
}
else
{
    Console.WriteLine("输入的字符串时间范围无法识别,请检查格式是否合法。");
}

【Github源码】

posted @ 2022-08-18 18:00  bcbr_wang  阅读(578)  评论(1编辑  收藏  举报