前台:

<!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# 获得两日期之间所有月份(包括跨年)相关推荐

  1. Java 8计算两个日期之间的月份

    开始日期:"2021-08-31" 结束日期:"2021-11-30" 在上述两个日期之间的91天持续时间,期望代码返回3个月的持续时间,但是以下方法仅返回2个 ...

  2. 计算两个日期之间的月份数

    网上搜计算两个日期之间的月份数,可能会有一大堆,像Date1 和 Date2 之间的年数相减得到一个差额然后乘以12 再加上 两日期相减得到的月数 ,就以为得到两日期之间的月数,事实证明有问题. 如2 ...

  3. js实现获取两个日期之间所有月份

    js实现获取两个日期之间所有月份 根据所选择的开始日期与结束日期获取之间的月份 代码如下 注意 根据所选择的开始日期与结束日期获取之间的月份 在使用过程中你可能需要获取两个时间的月份 组件moment ...

  4. oracle 月份期差,Oracle Database 日期算术-日期之间的月份或年份之间的差异

    示例 可以使用以下命令找到两个日期之间的月份差异MONTHS_BETWEEN( date1, date2 ): SELECT MONTHS_BETWEEN( DATE '2016-03-10', DA ...

  5. 关于计算两日期之间经过多少天的超巧妙算法(转载)

    转载地址:https://www.cnblogs.com/cndccm/p/11974754.html 原创地址:https://blog.csdn.net/chinaeran/article/det ...

  6. Python计算两日期之间排除节假日与非上班时间的工作时间

    Python计算两日期之间排除节假日与非上班时间的工作时间 前言 一.基本思路 二.代码示例 总结 文章目录 前言 一.基本思路 二.代码示例 总结 前言 工作中遇见需要写UDF计算事项办理时间的需求 ...

  7. T-SQL 2 Tips: 1.计算任意两日期之间的周一到周日分别各有几个! 2.根据出生日期计算精确年龄!...

    这两个小技巧,不写不知道,一写吓一跳! 都是看似简单,实际做起来就懵,得仔细想一想,才能写对! 凡是有日期运算的程序都要细心哦! 先说第二个: 2.根据出生日期精确计算年龄!   所谓计算精确年龄就是 ...

  8. 计算两日期之间差多少天----日期格式为:yyyy-mm-dd

    计算两日期之间差多少天 日期格式为yyyy-mm-dd //计算日期差值的方法: //计算日期差值的方法: function getDaysBetween(dateString1, dateStrin ...

  9. mysql 排除节假日_MYSQL 两日期之间的工作日(去掉周六日,不考虑节假日)_mysql...

    mysql 两日期之间的工作日(除去周六日,不考虑节假日) select (floor(days/7)*5+days%7 -case when 6 between wd and wd+days%7-1 ...

最新文章

  1. 嵌入式系统 Boot Loader 技术内幕-目前看到介绍Boot loader最通俗明了的文章
  2. mysql数据库迁移到另一台电脑上
  3. php cdi_使用Fabric8在CDI管理的bean中注入Kubernetes Services
  4. 交通银行信息技术管理部副总经理张漫丽:交通银行“大数据+人工智能”应用研究...
  5. Effective C++ 条款03:尽可能使用const
  6. html网页主页制作,网页主页制作过程
  7. eXosip注册函数与使用说明
  8. 渗透测试中利用社会工程学的巧妙之处
  9. css 清除表单样式,css form表单样式清除
  10. java中的打印pdf_Java 打印PDF文档
  11. android壁纸软件代码,android高清壁纸APP完整源码HD Wallpaper(服务端+客户端)
  12. 消息模型与生成pdf
  13. c语言比其他语言都高级,9.以下说法中正确的是( ) a.C语言比其他语言高级 b.C语言不用编译就能被计算机执行 c.C语言以接近英语国...
  14. 液晶面板价格持续上涨,中国面板企业迎来赶超韩国面板企业的机会
  15. JS的除法应用 求余,取整,进一法,四舍五入
  16. django orm基本操作一
  17. 开源自动化测试工具EFT
  18. 大数据项目之电商数据仓库系统回顾
  19. 11.SCCB接口时序的实现
  20. StarUML-UML图表绘制利器

热门文章

  1. 详细讲解 委托和事件
  2. 猎头职位:存储翘首EMC高薪诚聘高级软件工程师SH
  3. 目标检测二十年间那些事儿——加速与优化
  4. mysql 实现非递归树_二叉树的非递归前序,中序,后序遍历算法
  5. 【python教程入门学习】Python 逻辑零基础入门
  6. 程序员,互联网创业者,忠言逆耳,希望创业者们慎重,三思而后行。
  7. 收藏 | 北大华为鹏城联合首次提出视觉 Transformer 后量化算法!
  8. 收藏 | Kaggle神器LightGBM最全解读!
  9. 独家总结| 一文读懂卡尔曼滤波
  10. 一个会“说话”的油箱盖,告诉你每一滴油的去向