C#计算两个日期之间相差的天数

private int DateDiff(DateTime dateStart, DateTime dateEnd)

{

DateTime start = Convert.ToDateTime(dateStart.ToShortDateString());

DateTime end = Convert.ToDateTime(dateEnd.ToShortDateString());

TimeSpan sp = end.Subtract(start);

return sp.Days;

}

DateTime dt1 = DateTime.Now.AddDays(1); DateTime dt2 = DateTime.Now; int i = dt1.CompareTo(dt2); 这个就能看出来差一天了

如果我想算"2017-2-13 23:59:59"到"2017-2-14 0:00:01"这两个时间相差的天数,那应该是1天,但是用楼上的代码得到的只有2秒的时间差。

想要算相隔天数,可以这样:

string str1 = "2017-2-13 23:59:59";

string str2 = "2017-2-14 0:00:01";

DateTime d1 = Convert.ToDateTime(str1);

DateTime d2 = Convert.ToDateTime(str2);

DateTime d3 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", d1.Year, d1.Month, d1.Day));

DateTime d4 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", d2.Year, d2.Month, d2.Day));

int days = (d4 - d3).Days;

时间差的计算

法一:

使用TimeSpan ,同时也介绍一下TimeSpan的用法

相关属性和函数

Add:与另一个TimeSpan值相加。

Days:返回用天数计算的TimeSpan值。

Duration:获取TimeSpan的绝对值。

Hours:返回用小时计算的TimeSpan值

Milliseconds:返回用毫秒计算的TimeSpan值。

Minutes:返回用分钟计算的TimeSpan值。

Negate:返回当前实例的相反数。

Seconds:返回用秒计算的TimeSpan值。

Subtract:从中减去另一个TimeSpan值。

Ticks:返回TimeSpan值的tick数。

TotalDays:返回TimeSpan值表示的天数。

TotalHours:返回TimeSpan值表示的小时数。

TotalMilliseconds:返回TimeSpan值表示的毫秒数。

TotalMinutes:返回TimeSpan值表示的分钟数。

TotalSeconds:返回TimeSpan值表示的秒数。

简单示例:

DateTime d1 =new DateTime(2004,1,1,15,36,05);

DateTime d2 =new DateTime(2004,3,1,20,16,35);

TimeSpan d3 = d2.Subtract(d1);

LbTime.Text = "相差:"

+d3.Days.ToString()+"天"

+d3.Hours.ToString()+"小时"

+d3.Minutes.ToString()+"分钟"

+d3.Seconds.ToString()+"秒";

法二、使用Sql中的DATEDIFF函数

使用方法:DATEDIFF ( datepart , startdate , enddate )

它能帮你取出你想要的各种形式的时间差,如相隔多少天,多少小时,多少分钟等,具体格式如下:

日期部分缩写

year yy, yyyy

quarter qq, q

Month mm, m

dayofyear dy, y

Day dd, d

Week wk, ww

Hour hh

minute mi, n

second ss, s

millisecond ms

DateTime是内置的事件类型,TimeSpan是内置的事件间隔类型

两个类型为DateTime的变量作-运算得到类型为TimeSpan的数据

DateTime.Now是一个只读属性,返回当前的时间,类型为DateTime

TimeSpan :根据输入日期计算两个指定日期之间的时间间隔。

语法:String TimeSpan('转义字符','被比较日期','目标比较日期')

传回值:字符

参数说明:

转义字符:输入类型为字符,具有不同格式化字符的字符如内容说明中所例。输入字符内的格式化字符被格式化后输出,其他不属于格式化的字符则根据对应位置输出。'被比较日期':输入类型为字符,需要被比较的日期格式的字符内容。'目标比较日期':输入类型为字符,用来比较的目标日期格式的字符内容。

内容说明:根据输入日期计算两个指定日期之间的时间间隔。

转义字符说明:T:获 取两个日期之间差异刻度表示的差异值。(正数或负数)d:获取两个日期之间差异的整天数。(正数或负数)h:获取两个日期之间差异的整小时数。(正数或负 数)u:获取两个日期之间差异的整毫秒数。(正数或负数)m:获取两个日期之间差异的整分钟数。(正数或负数)s:获取两个日期之间差异的整秒数。(正数 或负数)D:获取两个日期之间以整天数和天的小数部分表示的差异值。(正数或负数)H:获取两个日期之间以整小时数和小时的小数部分表示的差异值。(正数 或负数)U:获取两个日期之间整毫秒数和毫秒的小数部分表示的差异值。(正数或负数)M:获取两个日期之间以整分钟数和分钟的小数部分表示的差异值。(正 数或负数)S:获取两个日期之间以整秒数和秒的小数部分表示的差异值。(正数或负数)

private static int DateDiff(DateTime dateStart, DateTime dateEnd)

{

DateTime start = Convert.ToDateTime(dateStart.ToShortDateString());

DateTime end = Convert.ToDateTime(dateStart.ToShortDateString());

TimeSpan sp = end.Subtract(start);

return sp.Days;

}

这是我所学到的一些知识,在此分享给大家,希望可以帮助到你们。

以上就是我的分享,新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!

C#计算两个日期之间相差的天数相关推荐

  1. 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss...

    /*** 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较* @param higDate 减数* @param lowDate 被减数* @returns 差值天数 格式不正 ...

  2. js 计算两个日期之间相差的天数,并适配 Ios

    计算两个日期之间相差的天数 需求 :通过两个日期,计算当前时间与过去某个时间之间相差的天数 注意 :时间日期的格式 "yyyy-MM-dd HH:mm:ss"格式化日期 , 备注 ...

  3. java计算两个日期之间相差的天数的四种方法

    计算两个日期之间相差的天数的四种方法 第一种:时间戳的方式,计算两个日期的时间戳的差,再除当天的毫秒数即可得到相差的天数. public static void main(String[] args) ...

  4. java 计算日期相差天数_JAVA计算两个日期之间相差的天数

    这是本人第一次写博客,主要计算两个日期之间相差的天数 import java.text.ParseException; import java.util.Date; import org.apache ...

  5. java 日期 相差的天数_JAVA计算两个日期之间相差的天数

    在Java开发物流或是其他功能的时候会用到两个日期相差多天的数据,所以整理了一下备用. 调用方式: long date1 = getDateTime("20121201");//可 ...

  6. JavaScript计算两个日期之间相差的天数

    写一个JavaScript的函数用于计算两个日期字符串之间相差的天数,首先求出两个日期之间相差的毫秒数,然后除以一天的毫秒数 //获得两个日期之间相差的天数function getDays(date1 ...

  7. c语言计算两个日期之间相差的天数

    如何使用c语言进行两个日期之间相差的天数呢?接下来请看代码. 本人是一名大一新生,若代码有误还请告知,感激不尽. #include<stdio.h> int main(){     int ...

  8. 如何计算两个日期之间相差的天数?

    见MSDN: 代码:确定两个日期之间的间隔   (Visual   C#) 本示例计算两个日期之间相差的天数并为该差额构造一个   TimeSpan   值. 示例 DateTime   oldDat ...

  9. 日期间隔计算器-计算两个日期之间相差多少天-计算某天之后的多少天是几号计算器

    我们在编程过程中不可避免会遇到计算两个日期之间相差多少天-计算某天之后的多少天是几号 如下图 具体的地址点击下方链接 即可快快速直达 https://www.codelovers.cn/tools/d ...

最新文章

  1. 在RHEL 5中Yum应用大全
  2. Linux编译mybatis,使用mybatis assembly插件打成tar包,在linux系统中运行服务-Go语言中文社区...
  3. python 每次读一行-转载 python每次读入文件一行的问题(血的教训啊)
  4. 一些解密必备知识(2)- 基础篇03|解密系列
  5. UA OPTI501 电磁波 Lorentz Oscillator Model 3 相速度与群速度
  6. Web Storage中的sessionStorage和localStorage
  7. worth,worthy,worthwhile的区别(一)
  8. 计算机网络(十四)-CSMA/CD协议
  9. Bootstrap3 表单静态控件
  10. sbt创建web项目
  11. Python str内部功能介绍
  12. 使用new和delete
  13. SPSS 卡方检验(图文+数据集)【SPSS 019期】
  14. usb启动计算机boss设置方法,技嘉主板bios设置usb启动(图文教程)
  15. thinkPad电脑无人操作时休眠设置
  16. RocketMQ-Topic创建
  17. 计算机双硬盘怎么启动第二块硬盘,电脑装两个硬盘怎么设置主从盘_双硬盘设置主盘的方法...
  18. daytime协议的服务器和客户端程序,用Socket套接字实现DAYTIME协议的服务器和客户端程序-20210414073352.docx-原创力文档...
  19. 模型选择的几种方法:AIC,BIC,HQ准则
  20. 第60讲:MySQL视图的综合使用案例

热门文章

  1. mini2440LED驱动程序开发
  2. 屏蔽CSDN右下角广告
  3. Python-pytest、unittest
  4. 高新技术企业认定条件及流程
  5. (原创)通过DrawingCache截取View图片
  6. ground truth的含义
  7. 2015去哪儿网校园招聘笔试题:寻找字符串的差异
  8. 给大家科普一下阿里的职级
  9. 技术分析:苹果之后 HTML5将改变移动互联网
  10. 物理层的传输介质和设备