`
isiqi
  • 浏览: 16482236 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用C#實現Datediff

阅读更多

SQL 中有Datediff函數﹐在需要進行時間方面的計算機時很好使﹐可在C#中卻沒有這種函數﹐一個偶然的機會﹐在網上找到如下類。轉貼在這里。以供日后使用.

publicenumDateInterval
{
Second,Minute,Hour,Day,Week,Month,Quarter,Year
}

publicsealedclassDateTimeManger
{
privateDateTimeManger()
{}//endofdefaultconstructor
publicstaticlongDateDiff(DateIntervalInterval,System.DateTimeStartDate,System.DateTimeEndDate)
{
longlngDateDiffValue=0;
System.TimeSpanTS
=newSystem.TimeSpan(EndDate.Ticks-StartDate.Ticks);
switch(Interval)
{
caseDateInterval.Second:
lngDateDiffValue
=(long)TS.TotalSeconds;
break;
caseDateInterval.Minute:
lngDateDiffValue
=(long)TS.TotalMinutes;
break;
caseDateInterval.Hour:
lngDateDiffValue
=(long)TS.TotalHours;
break;
caseDateInterval.Day:
lngDateDiffValue
=(long)TS.Days;
break;
caseDateInterval.Week:
lngDateDiffValue
=(long)(TS.Days/7);
break;
caseDateInterval.Month:
lngDateDiffValue
=(long)(TS.Days/30);
break;
caseDateInterval.Quarter:
lngDateDiffValue
=(long)((TS.Days/30)/3);
break;
caseDateInterval.Year:
lngDateDiffValue
=(long)(TS.Days/365);
break;
}

return(lngDateDiffValue);
}
//endofDateDiff
}
//endofclass

Samples:
publicclassDateDiffCS
{
publicstaticvoidMain(string[]CmdLineArgs)
{
System.DateTimedate1
=System.DateTime.Now;
System.DateTimedate2
=System.DateTime.Now.AddYears(2);
System.Console.Out.WriteLine(
"Days:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Day,date1,date2).ToString());
System.Console.Out.WriteLine(
"Hours:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Hour,date1,date2).ToString());
System.Console.Out.WriteLine(
"Minutes:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Minute,date1,date2).ToString());
System.Console.Out.WriteLine(
"Month:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Month,date1,date2).ToString());
System.Console.Out.WriteLine(
"Quarter:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Quarter,date1,date2).ToString());
System.Console.Out.WriteLine(
"Seconds:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Second,date1,date2).ToString());
System.Console.Out.WriteLine(
"Week:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Week,date1,date2).ToString());
System.Console.Out.WriteLine(
"Year:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Year,date1,date2).ToString());
System.Console.In.ReadLine();
}

}
//endoftheclass
From:
HP.Mahesh.UtilityManager.Libraries.DateTimeUtility

分享到:
评论

相关推荐

    使用Timer组件实现倒计时_倒计时_C#_

    本文将详细讲解如何使用Timer组件来实现倒计时,并结合DateAndTime类的DateDiff方法来精确计算剩余时间。首先,让我们深入理解这两个关键知识点。 1. Timer组件: C#中的System.Windows.Forms.Timer或System....

    c#对SQLite创建自定义函数

    在C#编程环境中,与SQLite的交互是通过SQLite.NET或者System.Data.SQLite等库来实现的。本篇文章将深入探讨如何在C#中为SQLite创建自定义函数,以满足特定业务需求。 首先,理解SQLite自定义函数的概念。SQLite允许...

    经典C#列子 绝对好用

    在C#中,如果需要实现类似功能,可以使用集合的`Select`方法配合匿名类型,自定义一个顺序号属性。 7. **C#数据库访问**:C#中的ADO.NET允许开发人员连接到数据库,执行SQL查询,填充数据集或数据表。`SqlCommand`...

    C#里面比较时间大小三种方法

    本文介绍了在C#中比较时间大小的三种常见方法:使用`DateTime.Compare`进行直接比较、计算时间差值以及从当前时间减去固定天数。这些方法各有优势,适用于不同的应用场景。理解并熟练掌握这些技巧将有助于提高你在...

    C#里面比较时间大小3种方法

    具体实现如下: ```csharp string st1 = "12:13"; string st2 = "14:14"; DateTime dt1 = Convert.ToDateTime(st1); DateTime dt2 = Convert.ToDateTime(st2); if (DateTime.Compare(dt1, dt2) > 0) { // 如果...

    C#编程经验技巧宝典

    16 <br>0033 Return语句的使用 17 <br>0034 如何实现无限循环 17 <br>0035 巧用foreach语句控制控件 18 <br>0036 有效使用switch case语句 18 <br>2.3 运算符 19 <br>0037 如何使用...

    C#的一些常用函数

    C#与SQL Server数据库的交互通常通过ADO.NET(一个.NET框架的一部分)实现。以下是一些关键概念: 1. `SqlConnection` 类:这是连接到SQL Server数据库的主要类,你需要提供服务器名、数据库名、用户名和密码来建立...

    c#获取当前日期时间

    在C#编程中,获取当前日期和时间是常见的任务,主要通过`System.DateTime`类来实现。这个类提供了丰富的属性和方法,可以帮助开发者获取不同格式的日期和时间信息。以下是一些关键知识点: 1. **获取当前日期和时间...

    c#比较时间

    首先,我们需要将字符串形式的时间转换为 `DateTime` 类型,这可以通过调用 `Convert.ToDateTime` 方法实现。例如,我们有以下两条时间字符串: ```csharp string st1 = "12:13"; string st2 = "14:14"; ``` 接...

    c#学习积累资料

    此外,还可以使用`DateTime`的静态方法`DateDiff`来计算两个日期之间的差异(虽然这个方法不存在于标准库中,但可以自己实现)。 - **示例**:计算两个日期之间的小时数差值。 ```csharp int hoursDifference =...

    C# 日期格式.docx

    在C#中,日期格式化是一项非常实用且频繁使用的功能。通过格式化,可以将日期对象转换为指定格式的字符串,便于显示或存储。下面详细介绍几种常见的日期格式化方法。 ##### 常用日期格式代码示例 ```csharp string...

    C#数据库操作的方法总结

    在C#中进行数据库操作时,我们通常会使用ADO.NET或Entity Framework等框架来执行SQL查询。下面是一些基本的SQL查询示例: - **选择列名**:`SELECT name FROM syscolumns WHERE id = object_id('tb_usertable_online...

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...

    C#在数据库查询中使用日期函数

    在C#中,你可以使用`DateTime.AddDays()`, `DateTime.AddMonths()`, 或者 `DateTime.AddYears()` 方法实现相同的功能。 4. **DateDiff()**: 该函数用于计算两个日期之间的差值,可以是天数、周数、月数等。C#中没有...

    asp.net(C#)实现功能强大的时间日期处理类完整实例

    由于C#本身提供了较为丰富的日期和时间处理机制,开发者能够通过.NET Framework的类库实现各种日期时间相关的功能。本文将介绍如何实现一个功能强大的时间日期处理类。 首先,我们讨论的类称为DateTimeHelper,它...

    C#留言时间格式化

    在这个例子中,代码使用了一系列的条件判断来实现这些逻辑。 对于更通用的情况,可以编写一个函数,如`DateDiff`,它接受两个`DateTime`参数并返回一个格式化的字符串,表示两个日期之间的差异。这个函数中,使用`...

Global site tag (gtag.js) - Google Analytics