社区
C#
帖子详情
请问在C#中如何返回两个日期相差的天数或月数?
my98800
2005-06-17 08:35:25
请问在C#中如何返回两个日期相差的天数或月数?
...全文
3082
11
打赏
收藏
请问在C#中如何返回两个日期相差的天数或月数?
请问在C#中如何返回两个日期相差的天数或月数?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
singlepine
2005-06-20
打赏
举报
回复
private double DateDiff(string howtocompare, System.DateTime startDate, System.DateTime endDate)
{
double diff=0;
System.TimeSpan TS = new System.TimeSpan(endDate.Ticks-startDate.Ticks);
switch (howtocompare.ToLower())
{
case "year":
diff = Convert.ToDouble(TS.TotalDays/365);
break;
case "month":
diff = Convert.ToDouble((TS.TotalDays/365)*12);
break;
case "day":
diff = Convert.ToDouble(TS.TotalDays);
break;
case "hour":
diff = Convert.ToDouble(TS.TotalHours);
break;
case "minute":
diff = Convert.ToDouble(TS.TotalMinutes);
break;
case "second":
diff = Convert.ToDouble(TS.TotalSeconds);
break;
}
return diff;
}
烤火的鱼
2005-06-20
打赏
举报
回复
月数很简单,日期的年数×12+月数,两个都这么计算了再相减就可以了,如果计算工龄还要加1个月,道理也很简单,第一个月要算工龄的
silverseven7
2005-06-20
打赏
举报
回复
dateTime1 = DateTime.Now;
...
TimeSpan ts = dateTime1 - dateTime2;
Console.WriteLine("天数" + ts.Days);
月数在做除法,30天还是31天随便
dateTime1 = DateTime.Now;
...
TimeSpan ts = dateTime1 - dateTime2;
Console.WriteLine("天数" + ts.Days);
月数在做除法,30天还是31天随便
dateTime1 = DateTime.Now;
...
TimeSpan ts = dateTime1 - dateTime2;
Console.WriteLine("天数" + ts.Days);
月数在做除法,30天还是31天随便
dateTime1 = DateTime.Now;
...
TimeSpan ts = dateTime1 - dateTime2;
Console.WriteLine("天数" + ts.Days);
月数在做除法,30天还是31天随便
dateTime1 = DateTime.Now;
...
TimeSpan ts = dateTime1 - dateTime2;
Console.WriteLine("天数" + ts.Days);
月数在做除法,30天还是31天随便
juluan
2005-06-20
打赏
举报
回复
以上是我自己寫的,大家看看能用不~~ 嘿嘿
juluan
2005-06-20
打赏
举报
回复
/// <summary>
/// 得到2個日期的指定格式間隔
/// </summary>
/// <param name="dt1">日期1</param>
/// <param name="dt2">日期2</param>
/// <param name="dateformat">間隔格式: y:年 M:月 d:天 h:小時 m:分鐘 s:秒 fff:毫秒 ffffff:微妙 fffffff:100毫微妙</param>
/// <returns>間隔 long型</returns>
public static long GetIntervalOf2DateTime(DateTime dt1,DateTime dt2,string dateformat)
{
try
{
long interval = dt1.Ticks - dt2.Ticks;
DateTime dt11;
DateTime dt22;
switch(dateformat)
{
case "fffffff"://100毫微妙
break;
case "ffffff"://微妙
interval /= 10;
break;
case "fff"://毫秒
interval /= 10000;
break;
case "s"://秒
interval /= 10000000;
break;
case "m"://分鐘
interval /= 600000000;
break;
case "h"://小時
interval /= 36000000000;
break;
case "d"://天
interval /= 864000000000;
break;
case "M"://月
dt11 = (dt1.CompareTo(dt2) >= 0)?dt2:dt1;
dt22 = (dt1.CompareTo(dt2) >= 0)?dt1:dt2;
interval = -1;
while(dt22.CompareTo(dt11) >= 0)
{
interval ++;
dt11 = dt11.AddMonths(1);
}
break;
case "y"://年
dt11 = (dt1.CompareTo(dt2) >= 0)?dt2:dt1;
dt22 = (dt1.CompareTo(dt2) >= 0)?dt1:dt2;
interval = -1;
while(dt22.CompareTo(dt11) >= 0)
{
interval ++;
dt11 = dt11.AddMonths(1);
}
interval /= 12;
break;
}
return interval;
}
catch(Exception ex)
{
string error = ex.Message;
return 0;
}
}
acenk
2005-06-20
打赏
举报
回复
d1-d2 就是天数
月数 (d1.Year-d2.Year)*12+d1.Month-d2.Month
nethawkc
2005-06-20
打赏
举报
回复
TotalDay.Text=(DateTime.Parse(Day1Edit.Text)-DateTime.Parse(Day2Edit.Text)).TotalDays.ToString(); //相差的天数
TotalHour.Text=(DateTime.Parse(Day1Edit.Text)-DateTime.Parse(Day2Edit.Text)).TotalHours.ToString(); //相差的小时
TotalMinute.Text=(DateTime.Parse(Day1Edit.Text)-DateTime.Parse(Day2Edit.Text)).TotalMinutes.ToString(); //相差的分钟
至于相差的月数, 这要自己算了, 没有直接的函数可以用
zhongwanli
2005-06-20
打赏
举报
回复
二楼
happyapple050429
2005-06-20
打赏
举报
回复
天数是直接相减就得了,上面说了,月数的话麻烦,我自己也写了个,不过我的日期相差大,所以用的是年,不一定适合你,你先看下算法:
一,判断两日期之间有没包括2月份日期。
二,判断各年是否润年(因为润年2月为29天)。
三,直接用两日期相差的天数减掉润年多出的天数,除以365,得出所差年数。
四,年数乘以12就得月数。
这种方法只适合两日期相差大的时候,希望哪位有更好的算法!大家共同进步!
fanruinet
2005-06-17
打赏
举报
回复
dateTime1 = DateTime.Now;
...
TimeSpan ts = dateTime1 - dateTime2;
Console.WriteLine("天数" + ts.Days);
月数在做除法,30天还是31天随便
真相重于对错
2005-06-17
打赏
举报
回复
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemdatetimeclassop_subtractiontopic.htm
C#
计算
两个
日期
之间
相差
的
天
数
C#
计算
两个
日期
之间
相差
的
天
数
private int DateDiff(DateTime dateStart, DateTime dateEnd) { DateTime start = Convert.ToDateTime(dateStart.ToShortDateString()); DateTime end = Convert.ToDateTime(dateEnd.ToShortDateString()); ...
C#
计算
两个
时间段
相差
天
数
计算
两个
时间段之间
相差
的
天
数
,简单说一下思路: 首先获取
两个
时间段的时间值,分别将他们转换为毫秒
数
,在进行除以每天(24*60*60*1000)的毫秒
数
,那就得到了
相差
的
天
数
了; 插件: <script src="~/Content/JS/jquery-2.1.4.js"></script> 页面代码: <div> <span...
php
两个
时间
相差
月
数
,PHP 求
两个
日期
之间
相差
的
天
数
、
月
数
/*** 求
两个
日期
之间
相差
的
天
数
* (针对1970年1
月
1日之后,求之前可以采用泰勒公式)* @param string $day1* @param string $day2* @return number*/function diffBetweenTwoDays ($day1, $day2){$second1 = strtotime($day1);$second2 = strtotime($d...
c#
计算
两个
日期
之间
相差
的
天
数
C#
中
两个
日期
之间的间隔
天
数
sql
中
这样取,select DateDiff("dd",joindatetime,getdate()) from db 那么在
c#
中
呢 //
C#
中
使用TimeSpan计算
两个
时间的差值 //可以反加
两个
日期
之间任何一个时间单位。 private string DateDiff(DateTime DateTime1, DateTime Dat
python计算时间
相差
几个
月
_python 计算
两个
日期
相差
多少个
月
近期,由于业务需要计算
两个
日期
之前
相差
多少个
月
。我在网上找了很久,结果发现万能的python,居然没有一个模块计算
两个
日期
的
月
数
,像Java、
C#
之类的高级语言,都会有(date1-date2).months的现成方法,觉得不可思议。说句实在的,一直觉得python 的
日期
处理模块真心不好用。哦,对了,别跟我说datetime,calendar,dateutil 这些模块,因为我都试过了,都...
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章