C#和Sql的时间操作,第1张

C#和Sql的时间操作,第2张

最近有哪些周期性的工作安排被折腾?对时间的操作加强了一点,得出结论:时间确实是应用软件中需要注意的地方,比如客户要求的“2006-03-16 12: 00: 00”或者“2006年3月16日12: 00: 00”。他们说很简单,但是在这里实现起来并不是很难,但是我的心情总是有点烦躁。在这里,我想为全世界的程序员做一个论证。嘿嘿,当然,我会自我安慰的。让我们言归正传。我把我操作时间的经验贴出来分享一下:

首先,取一个月的最后一天

一、用来计算一个月有多少天,年+月+加多少天,比如今天取这个月的最后一天。

private void GetLastDateForMonth(DateTime DtStart,out DateTime DtEnd)
{
int dt year,DtMonth

DtStart =日期时间。现在;
Dtyear = DtStart。年份;
DtMonth = DtStart。月份;

int MonthCount =日期时间。DaysInMonth(Dtyear,dt month);
DtEnd = Convert。today time(dt year。ToString()+"-"+DtMonth。ToString()+"-"+month count);

}

第二,把下个月的第一天减去一天就是这个的最后一天。

private void GetLastDateForMonth(DateTime DtStart,out DateTime DtEnd)
{
int dt year,DtMonth

DtStart =日期时间。now . add months(1);
Dtyear = DtStart。年份;
DtMonth = DtStart。月份;

DtEnd = Convert。today time(dt year。ToString()+"-"+DtMonth。ToString()+"-"+"1 ")。AddDays(-1);

}

二、时差的计算

先用TimeSpan,也介绍一下TimeSpan的用法。

相关属性和功能

Add:添加到另一个TimeSpan值。
Days:返回以天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回以小时
毫秒计算的TimeSpan值:返回以毫秒计算的TimeSpan值。
Minutes:返回以分钟为单位计算的TimeSpan值。
Negate:返回当前实例的倒数。
Seconds:返回以秒为单位计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的刻度数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。

简单的例子:
datetime D1 = new datetime(2004,1,1,15,36,05);
DateTime D2 =新的DateTime(2004,3,1,20,16,35);

时间跨度d3 = d2。减去(D1);

LbTime。Text = "Difference:"
+d3。days . ToString()+" days "
+D3。hours . ToString()+" hours "
+D3。分钟。ToString()+"分钟

二。使用Sql中的DATEDIFF函数
使用方法:datediff (datepart,start date,end date)
它可以帮你取出你想要的各种时差,比如多少天,多少小时,多少分钟等等。具体格式如下:

日期的部分缩写
年YY,年yyyy
季度QQ,q
月mm,m
年dy,y
日DD,d
周wk,ww
小时。

比如datediff(mi,DtOpTime,DtEnd)可以取出两者之间的时差的总分钟数,已经给你换算好了。它对于指定单位、小时、分钟和秒特别有用。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#和Sql的时间操作

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情