C#自定义工具类-时间日期工具类

目录

时间日期工具类DateTimeHelper

功能说明

日期格式化

时间戳转换

时间间隔计算

日期边界与调整

时区转换

日期解析

时间相等性判断

时间范围与先后判断

日期合法性与特殊判断

截断时间到指定精度

完整代码


     本篇文章分享一下时间日期工具类DateTimeHelper,包含了时间日期的常用操作,使用该类更便捷地完成时间相关的操作。

时间日期工具类DateTimeHelper

功能说明

日期格式化

       提供多种日期字符串转换方法,包括纯数字格式(如20240101)、日志格式(如[yyyy/MM/dd HH:mm:ss])、自定义格式转换,以及带星期的日期格式(如2024年01月01日 星期一)。

时间戳转换

       实现 DateTime 与 Unix 时间戳的双向转换,支持秒级和毫秒级精度,包括直接转换和安全转换(异常时返回 null)。

时间间隔计算

       计算两个时间的间隔,支持秒、毫秒、天数(忽略时间部分)和月份差(按自然月计算),结果可为负数。

日期边界与调整

       获取指定日期的天 / 月起始与结束时间(如2024-01-01 00:00:00和2024-01-31 23:59:59.999),并支持对日期进行年、月、日、时、分、秒的加减调整。

时区转换

       提供本地时间与 UTC 时间的双向转换,自动处理不同DateTimeKind的时间类型。

日期解析

       支持按指定格式或多个可能格式将字符串转换为 DateTime,转换失败时返回 null。

时间相等性判断

       可判断两个时间是否完全相同(精确到毫秒),或按指定精度(年、月、日等)判断是否相同,还提供同年、同月、同日的快捷判断。

时间范围与先后判断

       判断时间是否在指定范围内(含边界),比较两个时间的先后关系(早于、晚于),并返回比较结果(1/-1/0)。

日期合法性与特殊判断

       验证日期是否为有效 DateTime 实例,判断年份是否为闰年,以及指定日期是否为当月第一天或最后一天。

截断时间到指定精度

       按指定精度(年、月、日、时等)截断时间,忽略更低精度的部分(如截断到 “小时” 则分钟和秒设为 0)。

完整代码

using System;
using System.Globalization;

/// <summary>
/// 日期时间工具类,提供格式化、转换等常用操作
/// </summary>
public static class DateTimeHelper
{
    #region 日期格式化
    /// <summary>
    /// 日期 仅数字格式(如20240101)
    /// </summary>
    public static string DateOnlyNum(DateTime dateTime)
    {
        return dateTime.ToStrin
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值