C# 可以使用TimeSpan计算两个时间差,方法如下:
可以加两个日期之间任何一个时间单位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{string dateDiff = null;
TimeSpan ts = DateTime1Subtract(DateTime2)Duration();
dateDiff = tsDaysToString()+"天"+ tsHoursToString()+"小时"+ tsMinutesToString()+"分钟"+ tsSecondsToString()+"秒";
return dateDiff;
}
说明:
1DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2TimeSpan值包含了许多属性与方法,用于访问或处理一个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 d = DateTimeNowAddSeconds(100);添加100秒;
2DateTime d = DateTimeNowAddSeconds(-100);送去100秒。
C#获取两个DateTime值的时差:
1两个DateTime之间相减。
using System;
namespace ConsoleApplication1 {class Program}static void Main(string[] args)
{DateTime t0 = new DateTime(2016, 1, 1);
DateTime t1 = DateTimeNow。
2求时间差。
TimeSpan ts = t1 - t0;
ConsoleWriteLine("时间差,以秒计, {0}", tsTotalSeconds);
ConsoleWriteLine("时间差,以分钟计, {0}", tsTotalMinutes)。
获取当前日期是有严格的格式规定的,小写的m代表的是分钟,大写的M才是月份,这里不能乱用。
下面具体介绍一下日期的格式:
日期格式:yyyyMMdd HH:mm:ss
yyyy:代表年份
MM: 代表月份
dd: 代表
HH: 代表小时(24小时制)
mm: 代表分钟
ss: 代表秒
这里可以使用分隔符来分隔年月日时分秒。包含的值有:-、/、:等非关键字符,例如DateTimeNowToString("yyyy-MM-dd HH:mm:ss:ffff");
扩展资料:
在C#中DateTime是一个包含日期和时间的类型,该类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种类型的字符串格式。
1、分类
DateTime调用ToString()传入的参数可分为制式和自定义两种:
(1) 制式:系统自带的,转入特定的单个字符就可转换为系统已设定好的格式。
(2) 自定义:自由组合日期代码(y、M、d、h、m、s、f)来展示丰富的日期格式。
2、制式类型
说明:转入特定的单个字符就可转换为系统已设定好的格式。
1、输出当前时间
DateTime now = DateTimeNow;
ConsoleWriteLine(now);
2、输出年月日 - 时分秒(为0)
DateTime now = DateTimeNow;
ConsoleWriteLine(nowDateToString());
3、输出年月日 - 时分格式时间
DateTime now = DateTimeNow;
ConsoleWriteLine(nowToString("yyyy-MM-dd hh:mm"));
4、输出年月日格式的时间
DateTime now = DateTimeNow;
ConsoleWriteLine(nowToString("yyyy-MM-dd"));
5、输出时分秒格式的时间
DateTime now = DateTimeNow;
ConsoleWriteLine(nowToString("HH:mm:ss"));
6、输出当前时间增加一天
DateTime afterNow = nowAddDays(1);
ConsoleWriteLine(afterNow);
7、输出当前时间减去一天
DateTime beforeNow = nowAddDays(-1);
ConsoleWriteLine(beforeNow);
//取得某月的最后一天
//方法一:使用算出该月多少天,年+月+加上多少天即得,举例取今天这个月的最后一天
private void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)
{
int Dtyear, DtMonth;
DtStart = DateTimeNow;
Dtyear = DtStartYear;
DtMonth = DtStartMonth;
int MonthCount = DateTimeDaysInMonth(Dtyear, DtMonth);//计算该月有多少天
DtEnd = ConvertToDateTime(DtyearToString() + "-" + DtMonthToString() + "-" + MonthCount);
}
//方法二:取出下月的第一天减去一天便是这个月的最后一天
private void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)
{
int Dtyear, DtMonth;
DtStart = DateTimeNowAddMonths(1);//月份加1
Dtyear = DtStartYear;
DtMonth = DtStartMonth;
DtEnd = ConvertToDateTime(DtyearToString() + "-" + DtMonthToString() + "-" + "1")AddDays(-1);//取出下月的第一天减去一天
}
二、时间差的计算
法一、使用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 = d2Subtract(d1);
LbTimeText = "相差:"
+d3DaysToString()+"天"
+d3HoursToString()+"小时"
+d3MinutesToString()+"分钟"
+d3SecondsToString()+"秒";
法二、使用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
如:datediff(mi,DtOpTime,DtEnd) 便能取出他们之间时间差的分钟总数,已经帮你换算好了,对于要求规定单位,时、分、秒特别有用
三 计算两个日期之间相差的工作日天数(转载:>
“天数”是指两个日期之间相隔的天数。所以必须计算两个日期值的差后,再得到相隔天数。见下面的例子:
// 起始日期: 2016年1月1日 00:00:00
datetime t0 = new datetime(2016, 10, 1);
// 结束日期:当前日期,即2016年10月22日
datetime t = datetimenow;
// 计算日期差值,获取相隔的天数
int days = (t - t0)days; // days = 21
以上就是关于C#怎么获取两个DateTime值的时差全部的内容,包括:C#怎么获取两个DateTime值的时差、C# Datetime 得到系统时间后,增加或者减少几秒得到一个时间值、c# 获取当前时间var str = DateTime.Now.Date.ToString("yyyyMMdd");等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)