【Github源码】 简介 Xmtool是一个基于.NetCore框架的常用功能封装集成的工具类库,目的是做成一个像Java语言中的Hutool类似的工具库,将和具体业务逻辑无关的常用功能和方法进行抽象、
【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. 获取0位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("输入的字符串时间范围无法识别,请检查格式是否合法。");
}