C# 获得两日期之间所有月份(包括跨年)
前台:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><title></title> </head> <body><form id="form1" runat="server"><div>开始<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>结束<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /><br /><asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /></div></form> </body> </html>
后台:
protected void Button1_Click(object sender, EventArgs e){string Begain_time = TextBox1.Text;string End_time = TextBox2.Text;string year_b = Begain_time.Substring(0, 4);string year_e = End_time.Substring(0, 4);string Begain_month = Begain_time.Substring(5, 2);string End_month = End_time.Substring(5, 2);int year_count=Convert.ToInt32(year_e)-Convert.ToInt32(year_b);if (year_count==0){int count = Convert.ToInt32(End_month) - Convert.ToInt32(Begain_month);for (int i = 0; i <= count; i++){string month = (Convert.ToInt32(Begain_month) + i).ToString();if (month.Length == 1){month = "0" + month;}DateTime datetime = DateTime.Now;string[] time = datetime.ToString().Split(new char[] { '/' });string date = year_b + "-" + month + "-" + time[2];string first = "";string last = "";if (Convert.ToInt32(month) == Convert.ToInt32(Begain_month)){first = Begain_time;}else{first = Convert.ToDateTime(date).AddDays(1 - Convert.ToDateTime(date).Day).ToString();}if (Convert.ToInt32(month) == Convert.ToInt32(End_month)){last = End_time;}else{last = Convert.ToDateTime(date).AddDays(1 - Convert.ToDateTime(date).Day).AddMonths(1).AddDays(-1).ToString();}if (first.IndexOf(" ") > 0){first = first.Remove(first.IndexOf(" "));}if (last.IndexOf(" ") > 0){last = last.Remove(last.IndexOf(" "));}Response.Write(first + "至" + last + "");}}else{int a = Convert.ToInt32(End_month);int b = Convert.ToInt32(Begain_month);int count = Convert.ToInt32(End_month)+ 12 * year_count - Convert.ToInt32(Begain_month) ;for (int i = 0; i <= count; i++){DateTime datetime = DateTime.Now;string[] time = datetime.ToString().Split(new char[] { '/' });string month = "";string date = "";string year = "";int month_ = Convert.ToInt32(Begain_month) + i;int year_add=0;if (month_>12){year_add = month_ / 12;}year = (Convert.ToInt32(year_b) + year_add).ToString();if (month_%12==0){month = "12";if (year_add>0){year = (Convert.ToInt32(year) - 1).ToString();}}else{month = (month_ - 12 * year_add).ToString();}if (month.Length == 1){month = "0" + month;}date = year + "-" + month + "-" + time[2];string first = "";string last = "";if (Convert.ToInt32(month) == Convert.ToInt32(Begain_month) && Convert.ToInt32(year) == Convert.ToInt32(year_b)){first = Begain_time;}else{first = Convert.ToDateTime(date).AddDays(1 - Convert.ToDateTime(date).Day).ToString();}if (Convert.ToInt32(month) == Convert.ToInt32(End_month) && Convert.ToInt32(year) == Convert.ToInt32(year_e)){last = End_time;}else{last = Convert.ToDateTime(date).AddDays(1 - Convert.ToDateTime(date).Day).AddMonths(1).AddDays(-1).ToString();}if (first.IndexOf(" ") > 0){first = first.Remove(first.IndexOf(" "));}if (last.IndexOf(" ") > 0){last = last.Remove(last.IndexOf(" "));}Response.Write(first+"-"+last+"\t");}}}
注:输入日期月和日必需是两位,如2015-08-05或2015/08/05
转载于:https://www.cnblogs.com/Tinoloving/p/4762364.html
C# 获得两日期之间所有月份(包括跨年)相关推荐
- Java 8计算两个日期之间的月份
开始日期:"2021-08-31" 结束日期:"2021-11-30" 在上述两个日期之间的91天持续时间,期望代码返回3个月的持续时间,但是以下方法仅返回2个 ...
- 计算两个日期之间的月份数
网上搜计算两个日期之间的月份数,可能会有一大堆,像Date1 和 Date2 之间的年数相减得到一个差额然后乘以12 再加上 两日期相减得到的月数 ,就以为得到两日期之间的月数,事实证明有问题. 如2 ...
- js实现获取两个日期之间所有月份
js实现获取两个日期之间所有月份 根据所选择的开始日期与结束日期获取之间的月份 代码如下 注意 根据所选择的开始日期与结束日期获取之间的月份 在使用过程中你可能需要获取两个时间的月份 组件moment ...
- oracle 月份期差,Oracle Database 日期算术-日期之间的月份或年份之间的差异
示例 可以使用以下命令找到两个日期之间的月份差异MONTHS_BETWEEN( date1, date2 ): SELECT MONTHS_BETWEEN( DATE '2016-03-10', DA ...
- 关于计算两日期之间经过多少天的超巧妙算法(转载)
转载地址:https://www.cnblogs.com/cndccm/p/11974754.html 原创地址:https://blog.csdn.net/chinaeran/article/det ...
- Python计算两日期之间排除节假日与非上班时间的工作时间
Python计算两日期之间排除节假日与非上班时间的工作时间 前言 一.基本思路 二.代码示例 总结 文章目录 前言 一.基本思路 二.代码示例 总结 前言 工作中遇见需要写UDF计算事项办理时间的需求 ...
- T-SQL 2 Tips: 1.计算任意两日期之间的周一到周日分别各有几个! 2.根据出生日期计算精确年龄!...
这两个小技巧,不写不知道,一写吓一跳! 都是看似简单,实际做起来就懵,得仔细想一想,才能写对! 凡是有日期运算的程序都要细心哦! 先说第二个: 2.根据出生日期精确计算年龄! 所谓计算精确年龄就是 ...
- 计算两日期之间差多少天----日期格式为:yyyy-mm-dd
计算两日期之间差多少天 日期格式为yyyy-mm-dd //计算日期差值的方法: //计算日期差值的方法: function getDaysBetween(dateString1, dateStrin ...
- mysql 排除节假日_MYSQL 两日期之间的工作日(去掉周六日,不考虑节假日)_mysql...
mysql 两日期之间的工作日(除去周六日,不考虑节假日) select (floor(days/7)*5+days%7 -case when 6 between wd and wd+days%7-1 ...
最新文章
- 嵌入式系统 Boot Loader 技术内幕-目前看到介绍Boot loader最通俗明了的文章
- mysql数据库迁移到另一台电脑上
- php cdi_使用Fabric8在CDI管理的bean中注入Kubernetes Services
- 交通银行信息技术管理部副总经理张漫丽:交通银行“大数据+人工智能”应用研究...
- Effective C++ 条款03:尽可能使用const
- html网页主页制作,网页主页制作过程
- eXosip注册函数与使用说明
- 渗透测试中利用社会工程学的巧妙之处
- css 清除表单样式,css form表单样式清除
- java中的打印pdf_Java 打印PDF文档
- android壁纸软件代码,android高清壁纸APP完整源码HD Wallpaper(服务端+客户端)
- 消息模型与生成pdf
- c语言比其他语言都高级,9.以下说法中正确的是( ) a.C语言比其他语言高级 b.C语言不用编译就能被计算机执行 c.C语言以接近英语国...
- 液晶面板价格持续上涨,中国面板企业迎来赶超韩国面板企业的机会
- JS的除法应用 求余,取整,进一法,四舍五入
- django orm基本操作一
- 开源自动化测试工具EFT
- 大数据项目之电商数据仓库系统回顾
- 11.SCCB接口时序的实现
- StarUML-UML图表绘制利器
热门文章
- 详细讲解 委托和事件
- 猎头职位:存储翘首EMC高薪诚聘高级软件工程师SH
- 目标检测二十年间那些事儿——加速与优化
- mysql 实现非递归树_二叉树的非递归前序,中序,后序遍历算法
- 【python教程入门学习】Python 逻辑零基础入门
- 程序员,互联网创业者,忠言逆耳,希望创业者们慎重,三思而后行。
- 收藏 | 北大华为鹏城联合首次提出视觉 Transformer 后量化算法!
- 收藏 | Kaggle神器LightGBM最全解读!
- 独家总结| 一文读懂卡尔曼滤波
- 一个会“说话”的油箱盖,告诉你每一滴油的去向