C# 日期时间操作:格式化与计算

简介: DateTime类用于处理日期时间操作,支持格式化输出、加减计算及获取特定日期(如本月第一天)。示例代码展示了常用功能:格式化、计算日期差、增减天数等,便于高效处理时间数据。

DateTime 类用于处理日期时间,支持格式化输出、加减计算、获取指定日期(如本月第一天)。

public class DateTimeHelper
{
    // 格式化日期(常用格式)
    public static string FormatDate(DateTime date, string format = "yyyy-MM-dd HH:mm:ss")
    {
        return date.ToString(format);
    }
    // 计算两个日期相差天数
    public static int GetDaysDifference(DateTime startDate, DateTime endDate)
    {
        return Math.Abs((endDate - startDate).Days);
    }
    // 获取本月第一天
    public static DateTime GetFirstDayOfMonth(DateTime date)
    {
        return new DateTime(date.Year, date.Month, 1);
    }
    // 日期加N天
    public static DateTime AddDays(DateTime date, int days)
    {
        return date.AddDays(days);
    }
}
// 调用示例
DateTime now = DateTime.Now;
Console.WriteLine("当前时间(默认格式):" + DateTimeHelper.FormatDate(now));
Console.WriteLine("当前时间(短日期):" + DateTimeHelper.FormatDate(now, "yyyy-MM-dd"));
DateTime start = new DateTime(2024, 1, 1);
int days = DateTimeHelper.GetDaysDifference(start, now);
Console.WriteLine("距离2024年1月1日相差:" + days + "天");
DateTime firstDay = DateTimeHelper.GetFirstDayOfMonth(now);
Console.WriteLine("本月第一天:" + DateTimeHelper.FormatDate(firstDay));
DateTime nextWeek = DateTimeHelper.AddDays(now, 7);
Console.WriteLine("一周后:" + DateTimeHelper.FormatDate(nextWeek));
相关文章
|
5月前
|
消息中间件 自然语言处理 运维
微服务不是银弹!这4个设计原则让你少踩90%的坑
本文深入解析微服务架构与领域驱动设计(DDD)的核心理念与实践方法,帮助开发者正确拆分服务边界,避免常见误区,提升系统可维护性与扩展性,适用于复杂业务场景下的高效开发与团队协作。
504 1
|
JSON API 数据处理
Winform管理系统新飞跃:无缝集成SqlSugar与Web API,实现数据云端同步的革新之路!
【8月更文挑战第3天】在企业应用开发中,常需将Winform桌面应用扩展至支持Web API调用,实现数据云端同步。本文通过实例展示如何在已有SqlSugar为基础的Winform系统中集成HTTP客户端调用Web API。采用.NET的`HttpClient`处理请求,支持异步操作。示例包括创建HTTP辅助类封装请求逻辑及在Winform界面调用API更新UI。此外,还讨论了跨域与安全性的处理策略。这种方法提高了系统的灵活性与扩展性,便于未来的技术演进。
643 2
|
10月前
|
消息中间件
使用RabbitMQ如何保证消息不丢失 ?
消息从发送,到消费者接收,会经理多个过程 , 其中的每一步都可能导致消息丢失 针对这些问题,RabbitMQ分别给出了解决方案: ● 消息发送到交换机丢失 : 发布者确认机制publisher-confirm消息发送到交换机失败会向生产者返回ACK , 生产者通过回调接收发送结果 , 如果发送失败, 重新发送, 或者记录日志人工介入 ● 消息从交换机路由到队列丢失 : 发布者回执机制publisher-return消息从交换机路由到队列失败会向生产者返回失败原因 , 生产者通过回调接收回调结果 , 如果发送失败, 重新发送, 或者记录日志人工介入 ● 消息保存到队列中丢失 : MQ持久化(交
|
缓存 监控 算法
小米面试题:多级缓存一致性问题怎么解决
【10月更文挑战第23天】在现代分布式系统中,多级缓存架构因其能够显著提高系统性能和响应速度而被广泛应用。
943 3
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
639 0
|
关系型数据库 MySQL 大数据
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
864 2
|
网络协议 网络架构
比较ping,tracert和pathping等命令之间的关系
比较ping,tracert和pathping等命令之间的关系
766 0
|
SQL 数据处理 数据库
提升数据处理效率:深入探讨Entity Framework Core中的批量插入与更新操作及其优缺点
【8月更文挑战第31天】在软件开发中,批量插入和更新数据是常见需求。Entity Framework Core 提供了批处理功能,如 `AddRange` 和原生 SQL 更新,以提高效率。本文通过对比这两种方法,详细探讨它们的优缺点及适用场景。
566 0
|
消息中间件 弹性计算 监控
【Serverless架构组成及优势适用场景】
Serverless的弹性伸缩、按需计费、无状态等特性使得开发者能够更加专注于业务逻辑,摆脱繁琐的服务器管理。它的优势在于灵活应对突发性工作负载、降低成本、提高开发效率,尤其在事件驱动、微服务、后端API等场景中表现出色。虽然Serverless仍然在不断发展,但其已经在云计算领域掀起了一场革命,成为当今应用开发的热门选择。随着技术的不断演进,我们有理由期待Serverless将继续推动应用开发的创新,为我们构建更加高效、可靠的应用提供更多可能。
617 0
C#NPOI操作Excel详解
C#NPOI操作Excel详解
1911 0