c#如何得出两个时间秒数差
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何得出两个时间秒数差相关的知识,希望对你有一定的参考价值。
C# 可以使用TimeSpan计算两个时间差,方法如下:
可以加两个日期之间任何一个时间单位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)string dateDiff = null;
TimeSpan ts = DateTime1.Subtract(DateTime2).Duration();
dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"秒";
return dateDiff;
说明:
1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.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值表示的秒数。
参考技术A long time1 = Convert.ToDateTime("2014-03-22 19:28:30").Ticks;long time2 = Convert.ToDateTime("2014-03-22 19:27:00").Ticks;
long min = (time1 - time2)/10000000; //min=90
Java计算两个时间的天数差与月数差 LocalDateTime
/**
* 计算两个时间点的天数差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即要计算的天数差
*/
public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2)
//获取第一个时间点的时间戳对应的秒数
long t1 = dt1.toEpochSecond(ZoneOffset.ofHours(0));
//获取第一个时间点在是1970年1月1日后的第几天
long day1 = t1 /(60*60*24);
//获取第二个时间点的时间戳对应的秒数
long t2 = dt2.toEpochSecond(ZoneOffset.ofHours(0));
//获取第二个时间点在是1970年1月1日后的第几天
long day2 = t2/(60*60*24);
//返回两个时间点的天数差
return (int)(day2 - day1);
@Test
public void testDay()
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(dateDiff(of1,of2));//365
/**
* 获取两个时间点的月份差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即需求的月数差
*/
public static int monthDiff(LocalDateTime dt1,LocalDateTime dt2)
//获取第一个时间点的月份
int month1 = dt1.getMonthValue();
//获取第一个时间点的年份
int year1 = dt1.getYear();
//获取第一个时间点的月份
int month2 = dt2.getMonthValue();
//获取第一个时间点的年份
int year2 = dt2.getYear();
//返回两个时间点的月数差
return (year2 - year1) *12 + (month2 - month1);
@Test
public void testMonth()
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(monthDiff(of1,of2));//12
以上是关于c#如何得出两个时间秒数差的主要内容,如果未能解决你的问题,请参考以下文章