在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组件来实现倒计时,并结合DateAndTime类的DateDiff方法来精确计算剩余时间。首先,让我们深入理解这两个关键知识点。 1. Timer组件: C#中的System.Windows.Forms.Timer或System....
在C#编程环境中,与SQLite的交互是通过SQLite.NET或者System.Data.SQLite等库来实现的。本篇文章将深入探讨如何在C#中为SQLite创建自定义函数,以满足特定业务需求。 首先,理解SQLite自定义函数的概念。SQLite允许...
在C#中,如果需要实现类似功能,可以使用集合的`Select`方法配合匿名类型,自定义一个顺序号属性。 7. **C#数据库访问**:C#中的ADO.NET允许开发人员连接到数据库,执行SQL查询,填充数据集或数据表。`SqlCommand`...
本文介绍了在C#中比较时间大小的三种常见方法:使用`DateTime.Compare`进行直接比较、计算时间差值以及从当前时间减去固定天数。这些方法各有优势,适用于不同的应用场景。理解并熟练掌握这些技巧将有助于提高你在...
具体实现如下: ```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) { // 如果...
16 <br>0033 Return语句的使用 17 <br>0034 如何实现无限循环 17 <br>0035 巧用foreach语句控制控件 18 <br>0036 有效使用switch case语句 18 <br>2.3 运算符 19 <br>0037 如何使用...
C#与SQL Server数据库的交互通常通过ADO.NET(一个.NET框架的一部分)实现。以下是一些关键概念: 1. `SqlConnection` 类:这是连接到SQL Server数据库的主要类,你需要提供服务器名、数据库名、用户名和密码来建立...
在C#编程中,获取当前日期和时间是常见的任务,主要通过`System.DateTime`类来实现。这个类提供了丰富的属性和方法,可以帮助开发者获取不同格式的日期和时间信息。以下是一些关键知识点: 1. **获取当前日期和时间...
首先,我们需要将字符串形式的时间转换为 `DateTime` 类型,这可以通过调用 `Convert.ToDateTime` 方法实现。例如,我们有以下两条时间字符串: ```csharp string st1 = "12:13"; string st2 = "14:14"; ``` 接...
此外,还可以使用`DateTime`的静态方法`DateDiff`来计算两个日期之间的差异(虽然这个方法不存在于标准库中,但可以自己实现)。 - **示例**:计算两个日期之间的小时数差值。 ```csharp int hoursDifference =...
在C#中,日期格式化是一项非常实用且频繁使用的功能。通过格式化,可以将日期对象转换为指定格式的字符串,便于显示或存储。下面详细介绍几种常见的日期格式化方法。 ##### 常用日期格式代码示例 ```csharp string...
在C#中进行数据库操作时,我们通常会使用ADO.NET或Entity Framework等框架来执行SQL查询。下面是一些基本的SQL查询示例: - **选择列名**:`SELECT name FROM syscolumns WHERE id = object_id('tb_usertable_online...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
在C#中,你可以使用`DateTime.AddDays()`, `DateTime.AddMonths()`, 或者 `DateTime.AddYears()` 方法实现相同的功能。 4. **DateDiff()**: 该函数用于计算两个日期之间的差值,可以是天数、周数、月数等。C#中没有...
由于C#本身提供了较为丰富的日期和时间处理机制,开发者能够通过.NET Framework的类库实现各种日期时间相关的功能。本文将介绍如何实现一个功能强大的时间日期处理类。 首先,我们讨论的类称为DateTimeHelper,它...
在这个例子中,代码使用了一系列的条件判断来实现这些逻辑。 对于更通用的情况,可以编写一个函数,如`DateDiff`,它接受两个`DateTime`参数并返回一个格式化的字符串,表示两个日期之间的差异。这个函数中,使用`...