C#用 DateAndTime.DateAdd方法和DateTime.Add(TimeSpan) 方法分别添加一段时间间隔
目录
一、基本方法
1.用 DateAndTime.DateAdd方法添加一段时间间隔
2.用DateTime.Add方法添加一段时间间隔
二、实例
1.实例1:用 DateAndTime.DateAdd方法
2.实例2:用DateTime.Add方法
一、基本方法
1.用 DateAndTime.DateAdd方法添加一段时间间隔
用了DateAndTime类的DateAdd静态方法。
返回一个 Date 值,其中包含已添加指定时间间隔的日期和时间值。
使用DateAndTime类的DateAdd静态方法可以方便地向指定日期添加一段时间间隔。语法格式如下:
DateAndTime.DateAdd(Datelnterval interval,double Number,DateTime DateValue);参数说明
interval:表示添加时间间隔的枚举值。
Number:表示要添加的时间间隔数,如果interval的枚举值为day,Number值为1,则向当前时间对象添加1天。
DateValue:表示当前操作的时间对象。2.用DateTime.Add方法添加一段时间间隔
使用DateTime的Add方法也可以向指定日期添加一段时间间隔。
DateTime.Add方法接收一个TimeSpan对象作为参数,用于向当前DateTime中添加一段时间间隔。所以也可以使用DateTime的Add方法代替DateAdd方法实现相同的添加时间间隔的效果。
返回一个新的 DateTime,它将指定 TimeSpan 的值添加到此实例的值上。
public DateTime Add (TimeSpan value);参数
value    TimeSpan
正或负时间间隔。返回
DateTime
一个对象,其值是此实例所表示的日期和时间与 value 所表示的时间间隔之和。例外
ArgumentOutOfRangeException
生成的 DateTime 小于 DateTime.MinValue 或大于 DateTime.MaxValue。注解
可以使用 Add 方法在单个操作中添加多种类型的时间间隔, (天、小时、分钟、秒或毫秒) 。 此方法的行为与加法运算符的行为相同。 结构 DateTime 还支持每个时间间隔的专用加法 (如 AddDays、 AddHours和 AddMinutes) 。执行日期算术时, Add 方法会考虑闰年和一个月中的天数。此方法不会更改此 DateTime的值。 相反,它返回一个新的 DateTime ,其值是此操作的结果。 新DateTime实例的 属性与当前实例的 属性相同。二、实例
1.实例1:用 DateAndTime.DateAdd方法
// 用 DateAndTime.DateAdd方法添加一段时间间隔
using Microsoft.VisualBasic;namespace _063
{public partial class Form1 : Form{private GroupBox? groupBox1;private Button? button3;private Button? button2;private Button? button1;private Label? label1;private Button? button4;public DateTime datetime;//定义时间字段public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(6, 28),Name = "label1",Size = new Size(44, 17),TabIndex = 0,Text = "时间:"};// // button1// button1 = new Button{Location = new Point(6, 133),Name = "button1",Size = new Size(75, 23),TabIndex = 1,Text = "加1分钟",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // button2// button2 = new Button{Location = new Point(98, 133),Name = "button2",Size = new Size(75, 23),TabIndex = 2,Text = "加1小时",UseVisualStyleBackColor = true};button2.Click += Button2_Click;// // button3// button3 = new Button{Location = new Point(190, 133),Name = "button3",Size = new Size(75, 23),TabIndex = 3,Text = "加1天",UseVisualStyleBackColor = true};button3.Click += Button3_Click;// // button4// button4 = new Button{Location = new Point(282, 133),Name = "button4",Size = new Size(75, 23),TabIndex = 4,Text = "减1天",UseVisualStyleBackColor = true};button4.Click += Button4_Click;// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(365, 162),TabIndex = 0,TabStop = false,Text = "添加时间间隔"};groupBox1.Controls.Add(button4);groupBox1.Controls.Add(button3);groupBox1.Controls.Add(button2);groupBox1.Controls.Add(button1);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(389, 186);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "向指定日期添加一段时间间隔";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();datetime = DateTime.Now;//得到系统当前时间label1!.Text += Environment.NewLine + datetime.ToString("  yyyy年M月d日 H时m分s秒");//显示时间信息}/// <summary>/// 加1分钟/// </summary>private void Button1_Click(object? sender, EventArgs e){datetime = DateAndTime.DateAdd(DateInterval.Minute, 1, datetime);label1!.Text += Environment.NewLine + datetime.ToString("  yyyy年M月d日 H时m分s秒");}/// <summary>/// 加1小时/// </summary>private void Button2_Click(object? sender, EventArgs e){datetime = DateAndTime.DateAdd(DateInterval.Hour, 1, datetime);label1!.Text += Environment.NewLine + datetime.ToString("  yyyy年M月d日 H时m分s秒");}/// <summary>/// 加1天/// </summary>private void Button3_Click(object? sender, EventArgs e){datetime = DateAndTime.DateAdd(DateInterval.Day, 1, datetime);label1!.Text += Environment.NewLine + datetime.ToString("  yyyy年M月d日 H时m分s秒");}/// <summary>/// 减1天/// </summary>private void Button4_Click(object? sender, EventArgs e){datetime = DateAndTime.DateAdd(DateInterval.Day, -1, datetime);label1!.Text += Environment.NewLine + datetime.ToString("  yyyy年M月d日 H时m分s秒");}}
}

 
 
2.实例2:用DateTime.Add方法
// Add 方法计算从此刻起 1天 (864 小时) 后是星期几
namespace _063_1
{internal class Program{private static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);DateTime today = DateTime.Now;TimeSpan duration = new(1, 0, 0, 0);DateTime answer = today.Add(duration);Console.WriteLine("{0:dd}", answer);      // DayConsole.WriteLine("{0:ddd}", answer);    // Day nameConsole.WriteLine("{0:dddd}", answer);  // Full day name}}
}
//运行结果:
/*
27
周六
星期六*/相关文章:
 
C#用 DateAndTime.DateAdd方法和DateTime.Add(TimeSpan) 方法分别添加一段时间间隔
目录 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔 2.用DateTime.Add方法添加一段时间间隔 二、实例 1.实例1:用 DateAndTime.DateAdd方法 2.实例2:用DateTime.Add方法 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔…...
 
四、Kotlin 表达式
1. 常量 & 变量 1.1 可读写变量(var) var x initValue // x 称为可读写变量注意:当 var 声明的变量做成员属性时,默认提供 setter/getter 方法。 1.2 只读变量(val) val x initValue // x 称为只…...
 
Web开发4:单元测试
在Web开发中,单元测试是一种重要的开发实践,它可以帮助我们确保代码的质量和可靠性。通过编写和运行单元测试,我们可以验证代码的正确性,减少错误和缺陷,并提高代码的可维护性。本文将介绍单元测试的概念、好处以及如何…...
Ubuntu 16 让ufw防火墙控制docker容器中所有端口
使用docker ps 查询docker在运行端口。 rootai-0003:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …...
 
<蓝桥杯软件赛>零基础备赛20周--第18周--动态规划初步
报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…...
vb如何获取鼠标形状的特征码
vb如何获取鼠标形状的特征码 好像按键精灵有一个GetCursorShape()函数可以获取特征码,不知道VB6能不能实现类似的功能? 附注: 1 最好是机器无关的,不是也可以。 2 特征码就是一串数字,用来区分不同的鼠标形状。 3 获取…...
 
chroot: failed to run command ‘/bin/bash’: No such file or directory
1. 问题描述及原因分析 在busybox的环境下,执行 cd rootfs chroot .报错如下: chroot: failed to run command ‘/bin/bash’: No such file or directory根据报错应该rootfs文件系统中缺少/bin/bash,进入查看确实默认是sh,换成…...
 
蓝桥杯备战——2.矩阵键盘
1.分析原理图 由上图可以看到若J5跳线帽接地,就S4~S7就可以当做四路独立按键,若接到P44,则就是4*4的矩阵键盘。 2.独立按键处理 相对传统的按键延时消抖方案,这里我采用更高效,更经典,更偏向产品级应用的…...
 
Docker部署思维导图工具SimpleMindMap并实现公网远程访问
文章目录 1. Docker一键部署思维导图2. 本地访问测试3. Linux安装Cpolar4. 配置公网地址5. 远程访问思维导图6. 固定Cpolar公网地址7. 固定地址访问 SimpleMindMap 是一个可私有部署的web思维导图工具。它提供了丰富的功能和特性,包含插件化架构、多种结构类型&…...
 
机器学习实验2——线性回归求解加州房价问题
文章目录 🧡🧡实验内容🧡🧡🧡🧡数据预处理🧡🧡代码缺失值处理特征探索相关性分析文本数据标签编码数值型数据标准化划分数据集 🧡🧡线性回归🧡&am…...
 
宝塔+nextcloud+docker+Onlyoffice 全开启https
折腾了我三天的经验分享 1.宝塔创建网站 nextcloud版本为28.0.1 php8.2 ,导入nextcloud绑定域名对应的证书 ,不用创建mysql 因为nextcloud 要求是mariadb:10.7 宝塔里没有,就用docker安装一个 端口设置为3307 将数据库文件映射出来/ww…...
呼吸机电机控制主控MCU方案
呼吸机是一种能代替、控制或改变人的正常生理呼吸,增加肺通气量,改善呼吸功能,减轻呼吸功消耗,节约心脏储备能力的装置。呼吸机连接一条管子到患者的嘴或鼻子,氧气量可以通过监视器加以控制。 基于灵动微控制器的呼吸…...
 
gitlab备份-迁移-升级方案9.2.7升级到15版本最佳实践
背景 了解官方提供的版本的升级方案 - GitLab 8: 8.11.Z 8.12.0 8.17.7 - GitLab 9: 9.0.13 9.5.10 9.2.7 - GitLab 10: 10.0.7 10.8.7 - GitLab 11: 11.0.6 11.11.8 - GitLab 12: 12.0.12 12.1.17 12.10.14 - GitLab 13: 13.0.14 13.1.11 13.8.8 13.12.15 - G…...
redis面试题合集-基础
前言 又来到每日的复习时刻,昨天我们学习了mysql相关基础知识,还有分布式数据库介绍(后续总结时再持续更新)。今日继续学习缓存杀器:redis redis基础面试题合集 什么是Redis? Redis是一个开源的、内存中…...
(Unity)C# 中的字符串格式化
前言 在软件开发中,理解和掌握字符串的格式化及调试技巧对于编写高效和可维护的代码至关重要。 字符串插值 ($ 符号) 在 C# 中,字符串插值是通过在字符串前加 $ 符号来实现的。这允许我们将变量、表达式或函数调用直接嵌入到字符串中。 string name &qu…...
 
【项目日记(五)】第二层: 中心缓存的具体实现(上)
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:项目日记-高并发内存池⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你做项目 🔝🔝 开发环境: Visual Studio 2022 项目日…...
 
使用PSIM软件生成DSP28335流水灯程序
最近在学习DSP28335芯片,然后在使用PSIM仿真软件时发现这个仿真软件也支持28335芯片,于是就想学习下如何在PSIM软件中使用DSP28335芯片。在PSIM自带的官方示例中有使用DSP28335芯片的相关例子。 工程下载链接 https://download.csdn.net/download/qq_20…...
 
【iOS ARKit】人脸检测追踪基础
在计算机人工智能(Artificial Inteligence,AI)物体检测识别领域,最先研究的是人脸检测识别,目前技术发展最成熟的也是人脸检测识别。人脸检测识别已经广泛应用于安防、机场、车站、闸机、人流控制、安全支付等众多社会领域&#x…...
 
ES的一些名称和概念总结
概念 先看看ElasticSearch的整体架构: 一个 ES Index 在集群模式下,有多个 Node (节点)组成。每个节点就是 ES 的Instance (实例)。每个节点上会有多个 shard (分片), P1 P2 是主分片, R1 R2…...
 
Javaweb之SpringBootWeb案例之阿里云OSS服务集成的详细解析
2.3.3 集成 阿里云oss对象存储服务的准备工作以及入门程序我们都已经完成了,接下来我们就需要在案例当中集成oss对象存储服务,来存储和管理案例中上传的图片。 在新增员工的时候,上传员工的图像,而之所以需要上传员工的图像&…...
 
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
 
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
 
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
 
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
 
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
 
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
 
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
