网站首页
网站导航
Ctrl+D收藏
首 页
代码段
源码包
文档库
工具箱
代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C#
】
计算每周和每月固定日期
作者:
/ 发布于
2020/2/19
/
802
/// <summary> /// 保洁计划按周获取日期 /// </summary> /// <param name="startDate">开始时间</param> /// <param name="endDate">结束时间</param> /// <param name="date">周开始日期</param> /// <returns></returns> public List<DateTime> GetListDatekForCleanPlan(DateTime startDate, DateTime endDate, int date, int cycle) { //算法:通过计算开始时间(startdate)与规定开始周期(date)的差 // 将开始时间增加至第一个周期的开始时间,然后循环得出每周的一个时间 //周:每周按照七天计算 //月:需要考虑最大天数不一致,原则采用设置天数和最大天数的比较值 //计算开始时间和规定时间之间的差值 List<DateTime> listdate = new List<DateTime>(); if (cycle == 0)//周 { int dayString = (int)startDate.DayOfWeek - date; //将开始时间增加到第一个周期的第一天 if (dayString >= 0) { startDate = startDate.AddDays(7 - dayString); } else { startDate = startDate.AddDays(-dayString); } while (startDate <= endDate) { if (startDate.Date >= DateTime.Now.Date) { break;//今日之前不添加保洁记录 } listdate.Add(startDate); startDate = startDate.AddDays(7); } } else//月 { int dayString = (int)startDate.Day - date; if (dayString >= 0)//本月不加保洁,直接开始下月 { startDate = Convert.ToDateTime(startDate.Year + "-" + startDate.AddMonths(1).Month + "-" + startDate.Day);//加一个月 } while (startDate <= endDate)//这里的算法有问题 { DateTime cleandate = new DateTime(); //判断当月最大天数是否大于指定日期,如果当月没有指定日期就按照最大一天安排打扫 if (date <= DateTime.DaysInMonth(startDate.Year, startDate.Month)) { cleandate = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-" + date); } else { cleandate = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-" + DateTime.DaysInMonth(startDate.Year, startDate.Month)); } if (cleandate.Date <= DateTime.Now.Date) { startDate = startDate.AddMonths(1); continue;//今日之前不添加保洁记录 } listdate.Add(cleandate); startDate = startDate.AddMonths(1); } } return listdate; }
评论列表
本站所提供的代码,版权归原作者所有,若有侵犯作者版权,请与我们联系,我们将立即删除或修改。谢谢!
本站所有代码发布及提供者。
试试其它关键字
同语言下
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
.
计算每周和每月固定日期
可能有用的
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
去除字符串中的空格,回车,换行符转变成‘;’在按‘
.
按照回车换行符分割字符串
.
文件MD5码 比较,检测文件是否一样
.
计算每周和每月固定日期
贡献的其它代码
Label
地图
本站
我们
服务
版权
联系
回馈
博客