草庐IT

Datetime

全部标签

c# - 在 C# 中,如何将某些方法调用完全排除在代码库之外?

我正试图摆脱所有DateTime.Now方法调用,并用我自己的GetNow()方法替换它们,该方法有时可能返回固定日期测试目的。我如何才能强制将来没有人添加DateTime.Now调用?我可以使用NDepend或StyleCop在我的持续集成服务器上检查它吗? 最佳答案 使用NDepend很容易writethisrule://ForbidDateTime.Now,usexxx.GetNow()insteadWARNIFCount>0INSELECTMETHODSWHEREIsDirectlyUsing"OPTIONAL:System

c# - 将纪元/unix 转换为日期时间

这个问题在这里已经有了答案:HowdoyouconvertepochtimeinC#?(14个答案)关闭9年前。这个问题不是重复的,这个问题演示了转换方法的问题,而不是如何执行转换。完整阅读问题。我有一个我认为是unix时间戳的时间戳,当使用以下转换器时它会正确转换时间戳值:1365151714493http://www.epochconverter.com/我环顾四周,发现了一个example关于如何将其转换为日期时间对象并且该方法看起来很简单,创建一个日期时间对象并将日期设置为1970年1月1日的五月夜,并将值添加为秒:publicstaticDateTime?ConvertUni

c# - 如何使用默认 Entity Framework 和默认日期值

在我的SQLServer数据库架构中,我有一个数据表,其中的日期字段包含默认值CONVERT(VARCHAR(10),GETDATE(),111)这是在手动将记录输入数据库时​​自动将日期插入新记录的理想选择。我遇到的问题是,当使用EntityFramework并映射日期字段时,EntityFramework会在实例化实体时插入默认值DateTime.Min。我无法将Date字段映射到可为null的DateTime,即DateTime?,我也无法在EntityDesigner的默认值中使用CONVERT或DateTime.Now.Today,因为它只接受硬编码常量值。我当然可以在创建对

c# - 将 DateTime 转换为 UK 格式

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我想将日期“01/22/201310:00:00”转换为“22/01/201310:00:00”,但我的方法无法识别我的日期字符串。DateTimedt=DateTime.ParseExact(StartDate,"MMddyyyyh:mm",CultureInfo.InvariantCulture);StartDate=dt.ToString("dd/M

c# - stub 类的一个方法,让其他真正的方法使用这个 stub 的方法

我有一个TimeMachine类,它为我提供当前日期/时间值。该类看起来像这样:publicclassTimeMachine{publicvirtualDateTimeGetCurrentDateTime(){returnDateTime.Now;};publicvirtualDateTimeGetCurrentDate(){returnGetCurrentDateTime().Date;};publicvirtualTimeSpanGetCurrentTime(){returnGetCurrentDateTime().TimeOfDay;};}我想在我的测试中使用TimeMachin

c# - 更改文件创建日期不起作用

我正在使用以下内容来更改文本文件的创建日期:usingSystem.IO;...DateTimenewCreate=newDateTime(year,month,day,hour,minutes,seconds);File.SetCreationTime("changemydate.txt",newCreate);然而这并没有做任何事情。没有错误消息,但它根本不会更改文件的日期。我在dropbox文件夹和随机文件夹中都试过了,但都没有成功不过,DateTimenewCreate对象似乎是正确的。如果有人能给我指出一个想法,那就太好了...... 最佳答案

c# - 更好的日期时间?或者对 NULL 使用 default(DateTime)?

我正在设计一个具有私有(private)消息传递系统的C#/NHibernate网站。我希望管理员检查用户是否以及何时阅读了一条消息,并一起突出显示用户尚未阅读的那些消息。为了实现这两个目标,我找到了两个选择:选项1classMessage{DateTime?Read;}其中Read==null表示还没有读过选项2classMessage{DateTimeRead;}其中Read==default(DateTime)(January1st1A.D.,0:00:00)表示尚未读取。在大学里,我被教导使用NULL值来处理所有特殊情况,并且还使用可空类型似乎不错的选择,因为通过检查它们是否为

c# - 将秒数添加到具有 ArgumentOutOfRangeException 的有效 double 结果的 DateTime

下面的代码会崩溃和烧毁,我不明白为什么:DateTimedt=newDateTime(1970,1,1,0,0,0,0,DateTimeKind.Utc);doubled=double.Parse("1332958778172");Console.Write(dt.AddSeconds(d));有人能告诉我这是怎么回事吗?我只是似乎无法弄清楚为什么...编辑此值来自SalesforceRESTAPI,据我所知,它是一个Unix纪元时间戳。“token发行时间,表示为自Unix纪元(1970年1月1日00:00:00UTC)以来的秒数。”解决方案SalesforceRESTAPI实际上在

c# - 日期时间类型的所有属性上的 EF CORE 2.1 HasConversion

我之前在读取实体时使用DateTimeKindEntityMaterializerSource(Git)将所有DateTime转换为UTC,因为未指定默认值。对于EFcore2.1,DateTimeKindEntityMaterializerSource不再有效,但我们实际上可以这样做builder.Entity().Property(e=>e.CreatedDate).HasConversion(v=>v,v=>DateTime.SpecifyKind(v,DateTimeKind.Utc));但是,我有DateTime的许多属性,我想是否有一种方法可以对DateTime类型的所有属

c# - 将 C# 字符串解析为 DateTime

我有这样一个字符串:250920111414我想从该字符串创建一个DateTime对象。截至目前,我使用子字符串并这样做:stringdate=250920111414;intyear=Convert.ToInt32(date.Substring(4,4));intmonth=Convert.ToInt32(date.Substring(2,2));...DateTimedt=newDateTime(year,month,day...);是否可以使用字符串格式来做同样的事情,而无需子字符串? 最佳答案 当然。从你的字符串猜测格式,你