当前位置: 首页 > 编程语言 > C#

C#将时间分成小时块分享

时间:2023-04-11 11:35:02 C#

C#学习教程:C#将时间拆分为小时块这与“付费”数据有关,因此需要非常准确。我需要使用clockin和clockout,并将它们分成每小时的时间间隔。示例:clockin=5/25/20111:40:56PMclockout=5/25/20116:22:12PM我需要它看起来像:2011-05-251:40:56PM5/25/20112:00:00PM5/25/20113:00:00PM5/25/20116:00PM5/25/20115:00:00PM5/25/20116:00PM:00PM5/25/20116:22:12PM然后我计划查看“差异”表中的那些时间,看看他们应该有一个新的付费代码。但我稍后会担心付费代码。是什么帮助划分了时代?与C#一样,但我也可以访问MSSQL2000(这是我们提取原始时间的地方)varhours=newList();小时。添加(打卡);varnext=newDateTime(clockin.Year,clockin.Month,clockin.Day,clockin.Hour,0,0,clockin.Kind);while((next=next.AddHours(1))这样的事情怎么样?,clockIn.Hour,0,0,clockIn.Kind).AddHours(1);while(d这使用迭代器块,但可以很容易地编写它以返回列表。用法示例:staticvoidMain(string[]args){varclockIn=newDateTime(2011,5,25,13,40,56);varclockOut=newDateTime(2011,5,25,18,22,12);varhours=GetWorkingHourIntervals(clockIn,clockOut);foreach(varhinhours)Console.WriteLine(h);控制台.ReadLine();}输出:2011-05-2513:40:562011-05-2514:00:002011-05-2515:00:002011-05-2516:00:002011-05-2517:00:002011-05-2518:00:002011-05-2518:22:12更新:LukeH非常聪明地建议您也应该复制DateTimeKind。如果您打算稍后将日期时间转换为本地时间,这确实是一个明智的选择。我认为这样的事情应该有效:publicIEnumerableGetHourlyBreakdown(DateTimestartDate,DateTimeendDate){varhours=newList();小时。添加(开始日期);varcurrentDate=newDateTime(startDate.Year,startDate.Month,startDate.Day,startDate.Hour,0,0).AddHours(1);while(currentDate我会这样做:publicstaticIEnumerableGetIntervals(DateTimeclockIn,DateTimeclockOut){yieldreturnclockIn;clockIn=clockIn.AddHours(1).Subtract(clockIn.TimeOfDay).AddHours(clockIn.Hour);for(DateTimedt=clockIn;dt可以这样使用:以上就是C#学习教程:C#把时间分成小时块来分享所有内容,如果对大家有用还有需要了解更多C#学习教程的,希望大家会多关注一下——foreach(DateTimedtinGetIntervals(DateTime.Parse("5/25/20111:40:56PM",CultureInfo.InvariantCulture),DateTime.Parse("5/25/20116:22:12PM",CultureInfo.InvariantCulture))){Console.WriteLine(dt);}本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如有转载请注明出处:

最新推荐
猜你喜欢