草庐IT

Datetime

全部标签

c# - TryParse 为可空类型

我想尝试将string解析为DateTime?,如果失败,则将值设置为null。我能想到的唯一方法如下,但它看起来不是很整洁。DateTimetemp;DateTime?whatIActuallyWant=null;if(DateTime.TryParse(txtDate.Text,outtemp))whatIActuallyWant=temp;这是唯一的方法吗? 最佳答案 这个怎么样:DateTime?whatIActuallyWant=DateTime.TryParse(txtDate.Text,outtemp)?(DateTi

c# - 序列化同一个类中的多个 DateTime 属性,每个属性使用不同的格式

我有一个具有两个DateTime属性的类。我需要用不同的格式序列化每个属性。我该怎么做?我试过:JsonConvert.SerializeObject(obj,Formatting.None,newIsoDateTimeConverter{DateTimeFormat="MM.dd.yyyy"});此解决方案对我不起作用,因为它将日期格式应用于所有属性。有没有办法用不同的格式序列化每个DateTime属性?也许有一些属性? 最佳答案 处理这种情况的一种直接方法是将IsoDateTimeConverter子类化,为您需要的每种不同日期

c# - 将十进制小时数转换为 DD :HH:MM

我正在尝试将小数小时数转换为天数、小时数和分钟数。这是我目前所拥有的,还不完全是。如果有意义的话,我需要从小时部分的天数中减去小时数吗?//////ConvertsfromadecimalvaluetoDD:HH:MM//////Thetotalnumberofhours///DD:HH:MMstringpublicstaticstringConvertFromDecimalToDDHHMM(decimaldHours){try{decimalhours=Math.Floor(dHours);//takeintegralpartdecimalminutes=(dHours-hours)

c# - 为什么 DateTime.Now.TimeOfDay.ToString ("HH:mm:ss.ffffff") 抛出 FormatException?

我在抛出FormatException时遇到了类似的问题。我的代码很简单:voidOrders_OnSubmit(){DateTimeCurrentTime=DateTime.Now;rtbAdd("Submittedon"+CurrentTime.Date.ToString("MM/dd/yyyy")+"at"+CurrentTime.TimeOfDay.ToString("HH:mm:ss.ffffff"));}voidrtbAdd(StringS){DefaultDelegatedel=delegate(){rtb.AppendText(S+"\n");};this.Invoke

c# - 在 C# 中取消参数?

在阅读stackoverflow后,在检查DateTime格式的情况下,您应该使用DateTime.TryParse。在尝试了一些正则表达式之后,它们似乎变得又长又难看,无法覆盖大量格式。但TryParse需要一个“out”参数,因为我只想进行验证格式检查,所以我不需要实际结果。所以我只剩下一个保存“out”结果的变量,我什么都不做。有没有办法让我不必执行输出参数?所以我摆脱了这个警告,不再让变量四处乱飞。 最佳答案 对于C#7.0(自2016年8月起),您可以使用outvar构造,然后在后续代码中忽略新的var。boolsucce

c# - 日期时间上下舍入

我一直在寻找合适的舍入机制,但我发现似乎没有什么正是我需要的。我需要分别向上舍入和向下舍入,我还需要考虑已经四舍五入的情况。我需要进行以下舍入5:00->RoundDown()->5:005:04->RoundDown()->5:005:09->RoundDown()->5:005:10->RoundDown()->5:104:00->RoundUp()->4:004:50->RoundUp()->4:504:51->RoundUp()->5:004:56->RoundUp()->5:00基本上,我需要它明确地将RoundUp()或RoundDown()精确到最接近的10分钟,但如果它

c# - 删除小时数 :seconds:milliseconds in DateTime object

我正在尝试从DateTime对象创建一个字符串,它产生格式mm:dd:yyyy。通常DateTime对象以mm:dd:yyyyhrs:min:secAM/PM的形式出现。有没有办法快速删除DateTime的hrs:min:secAM/PM部分,这样当我将它转换为ToString()时,它只会导致在mm:dd:yyyy? 最佳答案 要回答您的问题,不-您必须将其存储在不同的类型中。最简单的选择是使用字符串。stringdate=dateTime.ToString("MM:dd:yyyy");不过,我也强烈建议不要在程序内部将日期作为字

c# - 如何将 12 小时时间字符串转换为 C# TimeSpan?

当用户填写表格时,他们会使用下拉菜单来表示他们希望安排测试的时间。此下拉列表以12小时AM/PM形式包含一天中的所有时间,以15分钟为增量。因此,例如,如果用户选择下午4:15,服务器将字符串"4:15PM"发送到带有表单提交的网络服务器。我需要了解如何将此字符串转换为时间跨度,以便将其存储在数据库的时间字段中(使用linqtosql)。有人知道将AM/PM时间字符串转换为时间跨度的好方法吗? 最佳答案 您可能想使用DateTime而不是TimeSpan。您可以使用DateTime.ParseExact将字符串解析为DateTime

c# - 是否可以防止 Entity Framework 4 覆盖自定义属性?

我首先使用EF4数据库+POCO。因为EF没有简单的方法来声明传入的DateTimes是UTC类型,所以我将该属性从自动生成的文件移动到另一个文件中的分部类。privateDateTime_createdOn;publicvirtualSystem.DateTimeCreatedOn{get{return_createdOn;}set{_createdOn=(value.Kind==DateTimeKind.Unspecified)?_createdOn=DateTime.SpecifyKind(value,DateTimeKind.Utc):value;}}但是,现在每次我更新模型时

c# - DateTime.AddDays() 未按预期工作

我有这个简单的程序:DateTimeaux=newDateTime(2012,6,12,12,24,0);DateTimeaux2=newDateTime(2012,6,12,13,24,0);aux2.AddDays(1);Console.WriteLine((aux2-aux).TotalHours.ToString());Console.ReadLine();我对此进行了调试,发现aux2.AddDays(1);似乎不起作用,我在这里缺少什么?它应该返回25,但答案是1。问题是什么?AddHours也不起作用,我猜其他人也不起作用。 最佳答案