草庐IT

DateTime-Local

全部标签

c# - DisplayFormat 不适用于 Nullable<DateTime>

我试图在MVC中格式化一些DateTimes,但DisplayFormat没有应用于Nullable对象,我不知道为什么。它在CreatedDateTime上运行良好,但在LastModifiedDateTime上运行良好[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString="{0:MM/dd/yyhh:mmtt}")]publicDateTimeCreatedDateTime{get;set;}[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString="{0:M

c# - SQL - 将 NULL 插入 DateTime

我有一个表,我在其中将Datetime添加到某些列中。我使用存储过程将值插入表中。在存储过程中,我有一些变量接受null以插入到表中。我的问题是,当我尝试向表列中插入一个空值时,我在该列中得到了1900-01-01。我该怎么做而不是这个默认值在列中仅插入NULL??这是我的SP:CREATEPROCEDUREdbo.Insert@InserIDint,@InsertDateDatetime=null,ASInsertintoTables(InsertID,InsertDate)Values(@InsertID,@InsertDate)我这样做是为了分配一个空值:System.Data.

c# - DateTime.TryParseExact 未按预期工作

谁能解释为什么下面的代码片段返回true?根据The"d"customformatspecifier的文档,"个位数的日期格式不带前导零。"那么,当我给它一个带前导零的个位数日时,为什么TryParseExact不会失败?DateTimex;returnDateTime.TryParseExact("01/01/2001",@"d\/MM\/yyyy",null,System.Globalization.DateTimeStyles.None,outx);更新我想也许我本来就不清楚。我真正想要了解的是:为什么TryParseExact接受一些不完全匹配的值?从我看到的所有文档中,'d'

c# - DateTime 通过内部刻度进行比较?

我查看了DateTimeEquals的实现:publicboolEquals(DateTimevalue){return(this.InternalTicks==value.InternalTicks);}然后看internalticksinternallongInternalTicks{[TargetedPatchingOptOut("PerformancecriticaltoinlineacrossNGenimageboundaries")]get{return(((long)this.dateData)&0x3fffffffffffffffL);}}然后我注意到这个数字:0x3f

c# - TimeZoneInfo.Local 与 TimeZoneInfo.FindSystemTimeZoneById

我一直在使用DateTime和TimeZoneInfo类,我使用以下代码遇到了一个有趣的结果:vardstStart=newDateTime(2013,3,10,2,0,0,DateTimeKind.Local);varresult=TimeZoneInfo.Local.IsDaylightSavingTime(dstStart);结果是False。我实际上会认为它会是True(夏令时从3月10日凌晨2:00开始)然后我使用FindSystemTimeZoneById尝试了类似的代码:varmyTimeZone=TimeZoneInfo.FindSystemTimeZoneById("

c# - 我可以通过在 C# 中通过引用传递 DateTime 参数来减少内存分配吗?

在C#中,与按值传递相比,将DateTime引用作为参数传递给函数时,内存分配是否有显着减少?intGetDayNumber(refDateTimedate)对比intGetDayNumber(DateTimedate)函数内的代码在任何情况下都不会修改日期。 最佳答案 DateTime是一个8字节的结构。ref有4或8个字节,具体取决于您的目标架构。所以最多只能节省4个字节的堆栈内存,这是完全不相关的。甚至有可能ref阻止了一些优化,例如将DateTime放在寄存器中,从而实际上增加了内存使用。这是一个明显的过早优化案例。不要这样

c# - 使用 JSON.NET 反序列化 DateTime 时如何保留时区?

这个问题在这里已经有了答案:ParseDateTimewithtimezoneofformPST/CEST/UTC/etc(6个答案)关闭8年前。我正在使用JSON.NET在C#中解析一些JSON。JSON中的字段之一是日期/时间,如下所示:{"theTime":"2014-11-20T07:15:11-0500",//...alotmorefields...}请注意时间部分是07:15:11(GMT-5小时的TZ)我从这样的流中解析JSON:using(varstreamReader=newStreamReader(rcvdStream)){JsonTextReaderreader=

c# - 使用 DateTime.MinValue 还是可以为 null 的 DateTime 更好?

如果我在名为“TimeLastAccessed”的类上有一个DateTime,那么这个DateTime是否可以为null更有意义:publicDateTime?TimeLastAccessed{get;set}if(TimeLastAccessed==null)//...handleit表明它从未被访问过或检查DateTime.MinValuepublicDateTimeTimeLastAccessed{get;set;}if(TimeLastAccessed==DateTime.MinValue)//...handleit? 最佳答案

c# - 为什么我不能将 DateTime[] 转换为 object[]?

看来我可以将DateTime转换为object,那么为什么我不能将数组DateTime[]转换为object[]?我知道这与值/引用类型有关,但装箱不允许我这样做吗? 最佳答案 Arraycovariance仅适用于引用类型的数组。DateTime是一种值类型,因此您不能将DateTime[]分配给object[]变量。您必须显式创建一个对象数组并将值复制过来。换句话说,创建一个类型为object[]的新数组实例。有很多方法可以做到这一点。CopyTo()的简单使用应该足够了。DateTime[]x=newDateTime[]{..

c# - 如何使用 DateTime.Parse() 创建 DateTime 对象

如果我有一个格式为yyyyMMddHHmmssfff的字符串,例如20110815174346225。我将如何从该字符串创建DateTime对象。我尝试了以下DateTimeTimeStamp=DateTime.Parse(Data[1],"yyyyMMddHHmmssfff");但是我得到了这些错误:Error1Thebestoverloadedmethodmatchfor'System.DateTime.Parse(string,System.IFormatProvider)'hassomeinvalidargumentsC:\DocumentsandSettings\rkelly