前台:

<!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(, );
string year_e = End_time.Substring(, );
string Begain_month = Begain_time.Substring(, );
string End_month = End_time.Substring(, );
int year_count=Convert.ToInt32(year_e)-Convert.ToInt32(year_b); if (year_count==)
{
int count = Convert.ToInt32(End_month) - Convert.ToInt32(Begain_month);
for (int i = ; i <= count; i++)
{
string month = (Convert.ToInt32(Begain_month) + i).ToString();
if (month.Length == )
{
month = "" + month;
}
DateTime datetime = DateTime.Now;
string[] time = datetime.ToString().Split(new char[] { '/' });
string date = year_b + "-" + month + "-" + time[];
string first = "";
string last = "";
if (Convert.ToInt32(month) == Convert.ToInt32(Begain_month))
{
first = Begain_time;
}
else
{
first = Convert.ToDateTime(date).AddDays( - Convert.ToDateTime(date).Day).ToString();
}
if (Convert.ToInt32(month) == Convert.ToInt32(End_month))
{
last = End_time;
}
else
{
last = Convert.ToDateTime(date).AddDays( - Convert.ToDateTime(date).Day).AddMonths().AddDays(-).ToString();
}
if (first.IndexOf(" ") > )
{
first = first.Remove(first.IndexOf(" "));
}
if (last.IndexOf(" ") > )
{
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)+ * year_count - Convert.ToInt32(Begain_month) ;
for (int i = ; 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=;
if (month_>)
{
year_add = month_ / ;
}
year = (Convert.ToInt32(year_b) + year_add).ToString();
if (month_%==)
{
month = "";
if (year_add>)
{
year = (Convert.ToInt32(year) - ).ToString();
}
}
else
{
month = (month_ - * year_add).ToString();
}
if (month.Length == )
{
month = "" + month;
}
date = year + "-" + month + "-" + time[]; 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( - 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( - Convert.ToDateTime(date).Day).AddMonths().AddDays(-).ToString();
}
if (first.IndexOf(" ") > )
{
first = first.Remove(first.IndexOf(" "));
}
if (last.IndexOf(" ") > )
{
last = last.Remove(last.IndexOf(" "));
}
Response.Write(first+"-"+last+"\t");
}
}
}

注:输入日期月和日必需是两位,如2015-08-05或2015/08/05

C# 获得两日期之间所有月份(包括跨年)的更多相关文章

  1. java:通过Calendar类正确计算两日期之间的间隔

    在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...

  2. js计算日期之间的月份差

    <script type="text/javascript"> getMonthBetween("2015-05-01","2016-05 ...

  3. C++练习 | 计算两日期之间天数差

    #include<iostream> #include<string> #include<cstring> using namespace std; class D ...

  4. Python2 获取两日期之间的每一天

    import datetime def getEveryDay(begin_date,end_date): date_list = [] begin_date = datetime.datetime. ...

  5. MYSQL 两日期之间的工作日(除去周六日,不考虑节假日)

    select (floor(days/7)*5+days%7      -case when 6 between wd and wd+days%7-1 then 1 else 0 end      - ...

  6. php 获取开始日期与结束日期之间所有月份

    function showMonthRange($start, $end) { $end = date('Ym', strtotime($end)); // 转换为月 $range = []; $i ...

  7. JS 格式化时间(获取两个日期之间的每一天、每一月、每半小时、每一秒)

    时间戳转换为时间 // 时间戳转换为时间 function timestampToTime(timestamp, isMs = true) { const date = new Date(timest ...

  8. mysql计算两个日期之间的天数

    MYSQL自带函数计算给定的两个日期的间隔天数   有两个途径可获得   1.利用TO_DAYS函数   select to_days(now()) - to_days('20120512')   2 ...

  9. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...

随机推荐

  1. NET基础课-- 类型基础(NET之美)

    1.类型:值类型  引用类型. 分类依据:类型在内存的分配方式.值类型在堆栈,引用类型在托管堆. 名词:栈--所有变量都会被分配在栈上,只不过值类型直接含有数据,引用类型含有一个指向托管堆对象的地址. ...

  2. HTML基础知识笔记(二)

    HTML <img>标签 语法: <img src="图片地址" alt="下载失败时的替换文本" title = "提示文本&qu ...

  3. 并行查询提高sql查询速度

    新项目在使用Oracle开发中遇到测试库千万级数据导致数据慢,除去加索引和存储过程可以明显提速外,使用并行也可以提速 select /*+parallel(a,8)*/ a.* from a 加上/* ...

  4. uva 10935 throwing cards away <queue>

    Given is an ordered deck of    n    cards numbered 1 to    n    with card 1 at the top and card    n ...

  5. (转) 学习C++ -> 引用( References )

    学习C++ -> 引用( References ) 一.引用的介绍    引用就是某一变量(目标)的一个别名, 相当于同一个人有了两个名字, 无论喊哪一个名字实际上都是指的同一个人. 同样, 在 ...

  6. Ubuntu14.10下解决chromium浏览器无法安装adobe flash的问题

    本文参考了一下资源和博客,在此提出表示感谢: http://my.oschina.net/u/209016/blog/290067 http://ubuntuhandbook.org/index.ph ...

  7. phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名 呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介 ...

  8. 【solr基础教程之九】客户端

    一.Java Script 1.由于Solr本身可以返回Json格式的结果,而JavaScript对于处理Json数据具有天然的优势,因此使用JavaScript实现Solr客户端是一个很好的选择. ...

  9. Oracle中index by binary_integer的作用

    如语句:type  numbers  is table of number index by binary_integer;其作用是,加了”index by binary_integer ”后,num ...

  10. python之5关于_name_和_main_的具体含义

    关于_name_和_main_的具体含义如下: _name_:在模块中就是模块名,在类中就是类名 _main_:模块自身 "The namespace for a module is aut ...