Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >C#通过考虑BusinessDays将TimeSpan添加到DateTime

C#通过考虑BusinessDays将TimeSpan添加到DateTime
EN

Stack Overflow用户
提问于 2011-03-17 09:24:04
回答 3查看 871关注 0票数 1

我有一个日期集合,这些日期是工作日,并且我有一个开始日期。当我向开始日期DateTime添加TimeSpan时,我必须确保在TimeSpan中添加日期时,我跳过假日。对如何做到这一点有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-17 09:52:20

像这样的怎么样?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public DateTime AddBusinessDays(List<DateTime> businessDays, DateTime startDate, TimeSpan span)
{
    // Add the initial timespan
    DateTime endDate = startDate.Add(span);

    // Calculate the number of holidays by taking off the number of business days during the period
    int noOfHolidays = span.Days - businessDays.Where(d => d >= startDate && d <= endDate).Count();

    // Add the no. of holidays found
    endDate.AddDays(noOfHolidays);

    // Skip the end date if it lands on a holiday
    while (businessDays.Contains(endDate))
        endDate = endDate.AddDays(1);

    return endDate;
}
票数 -1
EN

Stack Overflow用户

发布于 2011-03-17 09:44:31

按原样添加timespan。完成后,迭代搜索集合中介于原始日期和新日期之间的日期。对于每一次你遇到的每一次点击,你都会在新的日期中添加另一天,并重复,直到你完成了你的日期集合。如果对数据集合进行排序,则可以对此进行优化。

票数 0
EN

Stack Overflow用户

发布于 2014-01-20 10:55:08

您需要考虑在任何添加的日期范围内有多少非工作日。

在20天的范围内,可能有6个非工作日。您不能仅将此天数添加到前一天,因为新的日期范围可能还包含非工作日。您必须添加天数,然后计算出添加的天数中有多少天也是假日:

下面是一些未经测试的pcode

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Add Timespan to date (DateIn,timespan)
    finalDateTime = (fromDate + timespan)

    fromDate = DateIn.date  
    toDate = finalDateTime.date 

    repeat 
        iDays = GetHolidaysBetween (fromDate, toDate) 
        finalDateTime = (finalDateTime + iDays) 

        fromDate = (toDate+1)   
        toDate = (toDate+iDays) 
    until (iDays=0)

    return finalDateTime
end_function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5337118

复制
相关文章
c# 获取串口设备的输入(unsigned char *和 char*)
因为是C#,所以平台肯定是.NET了。 之前因为一个小小的业务需要接触了下密码键盘的操作。其实就是简单的获取用户输入密码的操作,没碰到什么大的问题,但是查资料的过程中还是感觉查到的东西挺多的,是那种越查越多,但是又不是很关键的东西。 在调用DLL中的方法的时候,我们一般要对照函数说明来把C/C++中的类型转换为.NET中相对应的类型,而且方法必须声明为静态外部函数,即加上public  extern static声明头.如果不加public ,函数默认为私有函数,调用就会出错。 [DllImport("CO
hbbliyong
2018/03/05
2.4K0
unsigned int数据范围16位_unsigned int几个字节
提到unsigned,大家应该都了解,有朋友问c语言中unsigned什么意思,还有人想问c语言中的unsigned是什么意思,这到底是咋回事?事实上unsigned呢,下面是小编推荐给大家的unsigned int,下面我们一起来看看吧!
全栈程序员站长
2022/11/05
6.4K0
unsigned int数据范围16位_unsigned int几个字节
判断S2中是否包含S1
思路:基于滑动窗口 代码: public boolean judge(String s1,String s2){ boolean res=false; if (s1==null||s2==null||s1.length()>s2.length()){ return res; } //s2=awied obao 9 s1=aboo 4 for(int i=0;i<=s2.length()-s1.leng
名字是乱打的
2021/12/22
4030
文件的字节流和字符流
该文章介绍了文件读写和序列化在编程中的应用。首先介绍了如何使用Java中的字节流和字符流进行文件读写操作,包括使用FileInputStream和FileOutputStream进行字节流读写,以及使用FileReader和FileWriter进行字符流读写。然后介绍了如何使用Java中的ObjectOutputStream和ObjectInputStream进行序列化操作,将对象序列化为字节流保存到文件中,或者将字节流反序列化为对象。此外,还介绍了在Java中如何使用文件锁来保护文件不被其他线程同时访问,以及如何使用序列化器来序列化和反序列化对象。
用户1171305
2017/12/28
6480
npm 发布:包含或排除文件
默认情况下,.gitignore用于确定在npm publish期间被列入黑名单的内容。
Jean
2021/10/19
3K0
npm 发布:包含或排除文件
检测项目中或IPA中是否包含UIWebView
将获取的IPA文件后缀改为rar,然后解压缩会得到一个payload文件夹,里面会有一个后缀为app的文件。同样在终端进入此文件夹:
用户6094182
2020/06/30
2.6K0
【错误记录】Android NDK 编译报错 ( no known conversion from ‘unsigned char *‘ to ‘const char *‘ )
在 Visual Studio 2019 中编译 Android NDK , 构建方式参考 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 ) 博客 ;
韩曙亮
2023/03/29
2.2K0
【错误记录】Android NDK 编译报错 ( no known conversion from ‘unsigned char *‘ to ‘const char *‘ )
char *转换为string的陷阱:char*中包含较多的'\0'
今天给团队调试一个错误,概率性的加密的数据没法做解密,现象是解密出来的结果和源数据长度不一致,很奇怪的现象,因为加密使用的数据是随机的,所以使得问题出现时表象是概率的问题;
呱牛笔记
2023/05/02
7020
char *转换为string的陷阱:char*中包含较多的'\0'
使用文件字节输出流FileOutputStream写入文件
1.代码 package d01_TestInput;/* * zt * 2020/8/7 * 11:11 * */ import java.io.FileOutputStream; public class TestFileOutputStream { public static void main(String[] args) throws Exception { //1.创建流 FileOutputStream fos = new FileOutp
2020/10/23
2.3K0
使用文件字节输出流FileOutputStream写入文件
遍历string时 使用for(char& c : s) for(char c : s) 的区别
结果是第一种方法比第二种方法快得多。虽然原因很简单,只是一个很基本的道理,但是毕竟初学,还是写下来记录一下。
狼啸风云
2020/09/07
1.6K0
其他流---字节数组流与文件流对接
byte[] ----> File 建立字节读入流 建立字节数组输出流 建立结果记录byte数组、中间byte数组、长度统计变量len 刷新流、将流转换到数组中 public static byte[] getBytesFromFile(String src) throws IOException { InputStream is = new BufferedInputStream(new FileInputStream(src)); ByteArrayOutputStream bos =
shimeath
2020/07/30
6850
java 字节流入门(文件流)
在编程语言的教材中,文件流大多是放在最后一章介绍的,而且大学不怎么考流,所以没有重视过。在开始学习 java 流时,发现大多博客上来就放一大家子类图,每次看到都头大。
Apache IoTDB
2020/09/27
5180
java 字节流入门(文件流)
java 字节流入门(内存数组流->文件流)
本文介绍如何将内存数组流的数据写入文件流中。即将内存数组流中的数据通过文件流写到磁盘上,也叫flush,或持久化。毕竟内存是短暂的,磁盘才是永恒。
Apache IoTDB
2020/09/27
8580
java 字节流入门(内存数组流->文件流)
缓冲流---为字节流和字符流复制文件增加缓冲流
缓冲流——增强性能 字节流的缓冲流(均未增加新方法) BufferedInputStream BufferedOutputStream 字节符的缓冲流 方法名称 方法作用 readLine() 返回值为String对象,读取一行 newLine() 换行符 字节流的缓冲流代码 package cn.hxh.io.buffered; import java.io.*; public class BufferedByte { public static void main(String[] ar
shimeath
2020/07/30
4280
PHP判断远程图片或文件或url是否存在
//判断远程文件 function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true); // 发送请求 $result = curl_exec($curl); $found = false; // 如果请求没有发送失败 if ($result !== false) { // 再检查http响应码是否为200 $statu
wangxl
2018/03/07
3.1K0
golang判断文件或文件夹是否存在
golang判断文件或文件夹是否存在的方法为使用os.Stat()函数返回的错误值进行判断: 如果返回的错误为nil,说明文件或文件夹存在 如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹不存在 如果返回的错误为其它类型,则不确定是否在存在 func PathExists(path string) (bool, error) { _, err := os.Stat(path) if err == nil {
李海彬
2018/03/19
5.7K0
ExcelVBA判断文件或文件夹是否存在
返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
哆哆Excel
2022/10/25
6.6K0
ExcelVBA判断文件或文件夹是否存在
Java(io流—字节输入流、字节输出流)
Java程序-->JVM-->OS-->OS调用写数据的方法-->把数据写入文件中
全栈开发日记
2022/05/12
7410
Java(io流—字节输入流、字节输出流)
JS查找数组中是否包含某个元素或对象「建议收藏」
做业务需求时遇到一个功能模块需要动态增删数组对象,需求本身完成不难,但是写出来的代码我总感觉很冗余,于是我在网上找了很久,看有没有现成的轮子可以使用,最终找到了es6中的一个方法 将其记录在此,方便以后自己翻阅查找
全栈程序员站长
2022/11/02
3.2K0
字节缓冲流
字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多,这是加入了数组这样的缓冲区效果,java本身在设计的时候,也考虑到了这样的设计思想(装饰设计模式后面讲解),所以提供了字节缓冲区流
星哥玩云
2022/09/14
4110

相似问题

字节数组的Char与unsigned char

40

按字节读取内存:"signed char *“vs "unsigned char *”

451

Unsigned char std::vector到unsigned char[]?

21

QByteArray和QList<unsigned char>或QVector<unsigned char>有什么区别?

23

为什么unsigned char的结果不是unsigned char <<

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文