C# 根据当前时间获取本月,本周,本季度

c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段 DateTime dt = DateTime.Now; //当前时间 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //24小时制 DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") //12小时制 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一 DateTime endWeek = sta 阅读详情
  • DateTime dt = DateTime.Now;  //当前时间 
  •   
  • DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一 
  • DateTime endWeek = startWeek.AddDays(6);  //本周周日 
  •   
  • DateTime startMonth = dt.AddDays(1 - dt.Day);  //本月月初 
  • DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);  //本月月末 
  • //DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1);  //本月月末 
  •   
  • DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); //本季度初 
  • DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1);  //本季度末 
  •   
  • DateTime startYear = new DateTime(dt.Year, 1, 1);  //本年年初 
  • DateTime endYear = new DateTime(dt.Year, 12, 31);  //本年年末 
  •   
  • 至于昨天、明天、上周、上月、上季度、上年度等等,只要AddDays()、AddMonths()、AddYears()这几种方法组合一下就可以了。 
  • C#中datetime的使用 
  • //如果你还不明白,再看一下中文显示星期几的方法就应该懂了 
  • //由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的 
  • string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; 
  • string week = Day[Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))].ToString(); 
  •   
  • //上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样 
  • DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7);        //上周一 
  • DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7).AddDays(6);     //上周末(星期日) 
  • //下周 
  • DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7);        //下周一 
  • DateTime.Now.AddDays(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7).AddDays(6);      //下周末 
  • //本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的 
  • //一般的写法 
  • DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天 
  • DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天 
  •   
  • //巧用C#里ToString的字符格式化更简便 
  • DateTime.Now.ToString("yyyy-MM-01"); 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString(); 
  •   
  • //上个月,减去一个月份 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString(); 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); 
  • //下个月,加去一个月份 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString(); 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString(); 
  • //7天后 
  • DateTime.Now.Date.ToShortDateString(); 
  • DateTime.Now.AddDays(7).ToShortDateString(); 
  • //7天前 
  • DateTime.Now.AddDays(-7).ToShortDateString(); 
  • DateTime.Now.Date.ToShortDateString(); 
  •   
  • //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString(); 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString(); 
  • //上年度,不用再解释了吧 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString(); 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString(); 
  • //下年度 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString(); 
  • DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString(); 
  •   
  • //本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月 
  • //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了 
  • DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day); 
  • //同理,本季度的最后一天就是下季度的第一天减一 
  • DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); 
  • //下季度,相信你们都知道了。。。。收工 
  • DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01"); 
  • DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); 
  • //上季度 
  • DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)). AddDays(1 - DateTime.Now); 
  • DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day).AddDays(-1).ToShortDateString();
QMI8658A和QMC5883L传感器校准全攻略:从零偏校准到椭球拟合 本文详细解析了QMI8658A和QMC5883L传感器的校准方法,从零偏校准到椭球拟合,涵盖了9轴运动传感器的核心误差来源及补偿技术。通过实战案例和数学建模,帮助开发者提升传感器精度,适用于无人机、AR/VR等智能硬件应用。 阅读详情

相关推荐

【科研导航】【计算机视觉与图像处理】从顶刊到潜力股:跨学科(电子/电气/信息)SCI期刊投稿全景图

本文全面解析了计算机视觉与图像处理领域的SCI期刊投稿策略,涵盖从顶刊到潜力股的各类期刊特点。重点介绍了IEEE Transactions系列、Elsevier旗舰期刊以及二区优质期刊的审稿偏好和投稿技巧,特别适合电子/电气/信息交叉学科的研究者。文章还提供了三区、四区期刊的实用投稿建议,帮助科研新手快速找到适合的发表平台。

weixin_30897233的博客 83

实例3--C# 输入月份获取季节

C# 输入月份获取季节 在开发简易计算器应用时,C#的事件处理、数据转换和异常处理是关键技术点。通过使用Windows Forms,我们能够快速设计出用户友好的图形界面,同时利用C#语言的强大功能来处理运算逻辑和用户输入。 项目开发过程中,界面设计和事件逻辑处理是两大重要任务,异常处理确保了程序的稳定性,用户输入的验证保证了系统的可靠性。完成该项目后,可以加深对C#编程、GUI设计以及运算逻辑实现的理解和应用。

weixin_40978412的博客 1061

实战STM32G0驱动DRV8870/AT8870:PWM+DMA精准调速与H桥衰减模式详解

本文详细介绍了如何使用STM32G0单片机结合DRV8870/AT8870电机驱动芯片实现直流有刷电机的精准控制。重点讲解了PWM与DMA结合实现高效调速的硬件配置与软件驱动方法,并深入剖析了H桥快衰减与慢衰减模式的工作原理及应用场景,为嵌入式电机控制项目提供了完整的实战解决方案。

c7d8e9的博客 595

C# 根据当前时间获取本周、本月、本季度、本年的始末日期

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication6 {     class Program     {         static void Main(string[] args)

czh4869623的专栏 1306

实战指南:如何优雅解决SpringBoot3与Mybatis-Plus的版本兼容性问题

本文深入解析SpringBoot3与Mybatis-Plus的版本兼容性问题,提供实战解决方案。通过Maven依赖排除策略、Gradle配置方案及自动配置覆盖策略,有效解决包冲突和初始化顺序问题,确保项目平稳升级。适用于开发者快速解决SpringBoot3与Mybatis-Plus的集成难题。

weixin_28432777的博客 597

Kolla 容器化 高可用OpenStack 部署与 Ceph 集群集成

本文介绍了 Kolla 项目在容器化 OpenStack 部署和管理方面的应用,以及与 Ceph 集群的集成。Kolla 项目通过容器技术提供了一种简化和自动化的 OpenStack 部署方法,同时实现了易于升级和回滚的特点。本文还探讨了 Kolla 在实现零宕机升级方面的进展,并分析了其对 OpenStack 用户和社区的重要意义。

we22635的博客 2703

C#根据当前时间获取,本周,本月,本季度等时间段

C#根据当前时间获取,本周,本月,本季度等时间段 DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一 DateTime endWeek = start...

cxu123321的博客 308

一步步教你离线安装vsftpd并配置FTP服务

在安装vsftpd之前,需确保系统更新至最新版本,并检查防火墙配置以允许FTP流量。安装过程涉及使用包管理器(如apt-get或yum)下载vsftpd及其依赖包,特别是在离线环境中,需先下载所有相关包并传输到目标机器。安装完成后,通过命令验证安装并启动服务。配置vsftpd包括编辑配置文件以设置访问权限和安全性参数,如匿名访问和本地用户访问。此外,需配置防火墙开放FTP端口,并通过FTP客户端测试服务。最后,建议进行安全配置,如禁用匿名访问和配置SSL/TLS加密,并设置日志记录以监控服务状态。

a_join的博客 2486

C# 根据当前时间获取,本周,本月,本季度等时间段

DateTime dt = DateTime.Now;  //当前时间 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一 Date

zgf_along的专栏 942

Ansys 19 Mechanical 流体密封分析

start point是一个特殊的概念,在仿真中ansys将从start point开始搜索会发生流体渗漏的点,可以简单理解为从start point开始,向四周逐个节点比较节点上的接触压紧力与流体压力,如果流体压力大于压紧力,则发生渗漏。事实上此处的最后一个参数是指定start point类型的,为1代表这是一个“open”的start point。在通常情况下,如果不人为指定start point,程序会自动寻找指定流体压力面的“边界”,对于二维情况,就是曲线的两个端点,对于三维情况就是曲面的边线。

Dio980的博客 1534

硬件电路(22)-TTL和232切换电路

工作中会遇到TTL和232电平的通信的状态,为了实现一种便捷的切换方式,参考了一些文章,提供一种电路方便大家使用。

剑藏锋的博客 1864

c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段

c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段DateTime dt = DateTime.Now;  //当前时间DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 24小时制DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")  12小时制<br /><br /> DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString

lionzl的专栏 849

prometheus普罗米修斯集监控外部k8s

prometheus普罗米修斯集监控外部k8s

你是我一生的追求 2249

C#根据当前时间获取本周、本月、本季度等时间段

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays(1 -Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一 DateTime endWeek = startWeek.AddDays(6); //本周周日 DateTime startMonth =...

涵涵的专栏 2793

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: Oracle 字符集的查看和修改
下一篇: C# 获取路径中文件名、目录、扩展名等
Meei1111
博客等级 码龄16年 244粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值