jjzjj

TimeSpan

全部标签

c# - 使用可为 null 的日期的 TimeSpan

当其中一个日期可以为空时,如何减去两个日期?publicstaticintNumberOfWeeksOnPlan(Useruser){DateTime?planStartDate=user.PlanStartDate;//user.PlanStartDateis:DateTime?TimeSpanweeksOnPlanSpan;if(planStartDate.HasValue)weeksOnPlanSpan=DateTime.Now.Subtract(planStartDate);//Thislineistheproblem.returnweeksOnPlanSpan==null?0

c# - 在 C# TimeSpan 类中循环一周中的几天

我试图在2个时间段之间循环遍历每周的每一天DateTimestart=newDateTime(2010,1,1);DateTimeend=newDateTime(2011,12,12);我已经设法使用以下代码获取这些日期之间的天数TimeSpanrange=(end-start);原来是710。我现在希望获得每个月的星期几,例如简12345678910111213141516171181920。..与匹配MTWTFSSMTWTFSSM我知道c#有一个来自DateTime类DayOfWeek的属性,它获取星期几我的问题是构建一个循环来执行上述操作?有人吗? 最

c# - 如何在 C# 中将 double 值转换为 DateTime?

我有值40880.051388并将其存储为double值,如果我打开Excel并粘贴到一个单元格中并将以下自定义格式“m/d/yyyyh:mm”应用到该值单元格,我得到"12/3/20111:14"如何在C#中执行此解析/转换?我不知道该值是否是某个检查点的毫秒数,例如纪元时间,或者该值是否采用某种特定的准备格式,但excel是如何得出这个特定值的?可以在C#中完成吗?我已经尝试在VisualStudio中使用TimeSpan、DateTime和其他类似的东西,但没有任何进展。 最佳答案 看起来您正在使用旧的OLEAutomatio

c# - 为什么 TimeSpan 没有 Years 属性?

我正在编写一个转换器,它可以获取一个人的出生日期并生成他们的年龄(以年为单位)。我写了一些看起来像这样的东西:publicclassDateOfBirthToAgeConverter:IValueConverter{publicobjectConvert(objectvalue,TypetargetType,objectparameter,CultureInfoculture){vardate=valueasDateTime?;if(date==null)returnnull;return(DateTime.Now-date).Years;}publicobjectConvertBac

c# - 从 'System.String' 到 'System.TimeSpan' 的转换无效

我目前有一个通用方法,它根据键从数据库中读取值并返回该值的特定类型。publicTGet(stringkey,TdefaultValue){varmyparms=newList{newSqlParameter("@KEY",key),};conststringgetPropertyQuery="SELECTSPARM_VALUEFROMSYSPARAMSWHERESPARM_KEY=@KEY;";varreturnedValue=//GetvaluefromDatabaseif(returnedValue==null){returndefaultValue;//Valuedoesnot

TimeSpan 到友好的字符串库 (C#)

有谁知道将TimeSpan对象转换为“友好”字符串的好库(或代码片段),例如:两年零三个月零四天一周零两天(用于文档过期系统,过期时间可以是几天到几十年)澄清一下,假设我有一个7天的TimeSpan,它应该打印“1周”、14天“2周”、366天“1年零1天”等等。 最佳答案 我只是偶然发现了这个问题,因为我想做类似的事情。经过一些谷歌搜索后,我仍然没有找到我想要的东西:以一种“圆形”的方式显示时间跨度。我的意思是:当某些事件需要几天时间时,显示毫秒数并不总是有意义。但是,当它花费几分钟时,它可能确实如此。在这种情况下,我不想显示0天

C# 比较一天中两个时间的最佳方法

我想知道是否过了一天中的指定时间。我真的不喜欢我现在做的事:privatestaticreadonlyTimeSpan_whenTimeIsOver=newTimeSpan(16,25,00);internalstaticboolIsTimeOver(){returnDateTime.Now.TimeOfDay.Subtract(_whenTimeIsOver).Ticks>0;}你好吗? 最佳答案 怎么样:internalstaticboolIsTimeOver(){returnDateTime.Now.TimeOfDay>_wh

c# - 如何在不循环的情况下使用 System.TimeSpan 值实现模数运算?

我在我的代码(C#/WPF)中对性能非常敏感的部分,我需要以最快的方式在两个System.TimeSpan值之间执行取模运算。此代码每秒将运行数千次,我非常愿意不惜一切代价避免使用手动循环计算。两个TimeSpans之间的模数的想法可能看起来有点奇怪,所以请允许我解释一下-说我们有时间跨度A=1分30秒时间跨度B=20秒以下是常见操作及其合理结果的列表:A+B=(TimeSpan)1分50秒A-B=(TimeSpan)1分10秒A*B=没有合理的计算方法我们应该能够将TimeSpan乘以一个整数。A*5=(TimeSpan)7分30秒Microsoft尚未实现TimeSpans和整数之

c# - 当没有值传入时,是否有 Rx 方法定期重复以前的值?

我遇到过的一个用例,我怀疑我不是唯一的一个,是一个像这样的方法:IObservableObservable.RepeatLastValueDuringSilence(thisIObservableinner,TimeSpanmaxQuietPeriod);这将从内部可观察对象返回所有future的项目,而且,如果内部可观察对象在一段时间内(maxQuietPeriod)没有调用OnNext,它只会重复最后一个值(当然直到内部调用OnCompleted或OnError)。一个合理的理由是服务定期ping出定期状态更新。例如:varmyStatus=Observable.FromEvent

c# - 使用 JSON 序列化/反序列化 TimeSpan

我正在尝试使用Newtonsoft.Json.JsonConvert反序列化/序列化时间跨度,但是当发送JSON时,它被设置为00:00:00。这甚至可以做到吗? 最佳答案 我尝试了#Jessycormier的方法,但它对我不起作用。我运行DataContractJsonSerializer以查看它会生成什么,我发现它给了我一个看起来更像这样的值。{"PassedTimeSpan":"P1DT2H3M4S"}上面显示的值是1天2小时3分4秒。所以看起来格式是:[-]P[{days}D][T[{hours}H][{min}M][{se