草庐IT

assembly_datetime

全部标签

c# - 从 DateTime 获取时区

.NetDateTime是否包含有关其创建时区的信息?我有一个从末尾带有“+zz”的格式解析DateTime的库,虽然它正确解析并调整了本地时间,但我需要从DateTime对象中获取特定时区。这可能吗?我只能看到DateTime.Kind,它指定时间是本地时间还是UTC。 最佳答案 DateTime本身不包含真正的时区信息。它可能知道它是UTC还是本地,但不知道本地的真正含义。DateTimeOffset稍微好一点——它基本上是一个UTC时间和一个偏移量。但是,这仍然不足以确定时区,因为许多不同的时区在任何一个时间点都可能具有相同的

c# - 如何检查 DateTime 是否发生在今天?

有没有比下面的代码更好的.net方法来检查日期时间是否在“今天”发生?if(newsStory.WhenAdded.Day==DateTime.Now.Day&&newsStory.WhenAdded.Month==DateTime.Now.Month&&newsStory.WhenAdded.Year==DateTime.Now.Year){//Storyhappenedtoday}else{//Storydidn'thappentoday} 最佳答案 if(newsStory.WhenAdded.Date==DateTime.T

c# - 如何检查一个 DateTime 是否大于 C# 中的另一个

我有两个DateTime对象:StartDate和EndDate。我想确保StartDate早于EndDate。这是如何在C#中完成的? 最佳答案 if(StartDate如果你只想要日期,而不是时间if(StartDate.Date 关于c#-如何检查一个DateTime是否大于C#中的另一个,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/95895/

c# - 舍入 DateTime 对象

我想将日期/时间四舍五入到图表应用程序的最近间隔。我想要一个如下所示的扩展方法签名,以便可以实现任何精度级别的舍入:staticDateTimeRound(thisDateTimedate,TimeSpanspan);我的想法是,如果我在十分钟的时间跨度内通过,它将四舍五入到最接近的十分钟间隔。我无法理解实现,希望你们中的一个人以前写过或使用过类似的东西。我认为下限、上限或最近的实现都可以。有什么想法吗?编辑:感谢@tvanfosson和@ShuggyCoUk,实现如下所示:publicstaticclassDateExtensions{publicstaticDateTimeRoun

c# - 如何将 DateTime.TryParse 与 Nullable<DateTime> 一起使用?

我想使用DateTime.TryParse方法将字符串的日期时间值放入Nullable。但是当我尝试这个时:DateTime?d;boolsuccess=DateTime.TryParse("somedatetext",out(DateTime)d);编译器告诉我'out'argumentisnotclassifiedasavariable不确定我需要在这里做什么。我也试过:out(DateTime)d.Value这也行不通。有什么想法吗? 最佳答案 正如Jason所说,您可以创建一个正确类型的变量并传递它。您可能希望将其封装在您自

c# - 在测试期间覆盖 DateTime.Now 的好方法是什么?

我有一些(C#)代码依赖于今天的日期来正确计算future的事情。如果我在测试中使用今天的日期,我必须在测试中重复计算,这感觉不对。在测试中将日期设置为已知值的最佳方法是什么,以便我可以测试结果是否为已知值? 最佳答案 我的偏好是让使用时间的类实际上依赖于接口(interface),例如interfaceIClock{DateTimeNow{get;}}具体实现classSystemClock:IClock{DateTimeNow{get{returnDateTime.Now;}}}然后如果你愿意,你可以提供你想要的任何其他类型的时

c# - 如何从 ISO 8601 格式创建 .NET DateTime

我找到了如何将DateTime转换为ISO8601格式,但没有关于如何在C#中执行相反的操作。我有2010-08-20T15:00:00Z,我想把它变成一个DateTime对象。我可以自己分离字符串的各个部分,但对于已经成为国际标准的东西来说,这似乎需要做很多工作。 最佳答案 此解决方案使用DateTimeStyles枚举,它也适用于Z。DateTimed2=DateTime.Parse("2010-08-20T15:00:00Z",null,System.Globalization.DateTimeStyles.Roundtrip

c# - 如何将 DateTime 转换为自 1970 年以来的秒数?

我正在尝试将C#DateTime变量转换为Unix时间,即自1970年1月1日以来的秒数。看起来DateTime实际上是作为自0001年1月1日以来的“滴答”数实现的。我目前的想法是像这样从DateTime中减去1970年1月1日:TimeSpanspan=DateTime.Now.Subtract(newDateTime(1970,1,1,0,0,0));returnspan.TotalSeconds;有没有更好的办法? 最佳答案 基本上就是这样。这些是我用来与Unix纪元时间相互转换的方法:publicstaticDateTim

c# - 从 DateTime 中减去天数

我的C#程序中有以下代码。DateTimedateForButton=DateTime.Now;dateForButton=dateForButton.AddDays(-1);//ERROR:un-representableDateTime每当我运行它时,我都会收到以下错误:Theaddedorsubtractedvalueresultsinanun-representableDateTime.Parametername:value我以前从未见过此错误消息,也不明白为什么会看到它。从到目前为止我读到的答案来看,我相信我可以在添加操作中使用-1来减去天数,但正如我的问题所表明的那样,我正

c# - DateTime.ToString ("MM/dd/yyyy HH:mm:ss.fff") 导致类似于 "09/14/2013 07.20.31.371"

我有一个WP8应用程序,它将当前时间发送到网络服务。我通过调用获取日期时间字符串DateTime.ToString("MM/dd/yyyyHH:mm:ss.fff")对于大多数用户来说,它工作得很好,并为我提供了正确的字符串,如"09/10/201304:04:31.415"。但对于某些用户,结果字符串类似于"09/14/201307.20.31.371",这会导致我的网络服务出现问题。是因为某些文化格式问题吗?如何确保结果字符串由冒号而不是点分隔? 最佳答案 Isitbecausesomecultureformatissue?是的