草庐IT

charged_datetime

全部标签

c# - 是否有可用于 CLR 的高分辨率(微秒、纳秒)DateTime 对象?

我有一个仪器可以存储微秒级别的时间戳,我需要存储这些时间戳作为从仪器收集信息的一部分。请注意,我不需要需要generatetimestamps;这些时间戳由仪器本身使用高分辨率实时操作系统预先生成。解析这些值不是问题——它们以UTC时间使用标准格式存储。本来我想用C#DateTimestructure只能存储毫秒分辨率的时间戳。.NET或通用C#库是否提供了另一个支持微秒和(理想情况下)纳秒级分辨率时间戳的对象,还是我必须自己动手? 最佳答案 毕竟您可以使用DateTime。DateTime.Ticks的分辨率为100纳秒。您可以使

c# - 如何在 C# (.NET) 中将 DateTimeKind.Unspecified 类型的 DateTime 转换为 DateTime.Kind.Utc

我继承了C#代码,其中包含大量DateTimes,其中Kind属性为DateTimeKind.Unspecified。这些被送入Datetime.ToUniversalTime()返回一个UTC日期时间(在我的例子中它增加了7小时)。这就是ToUniversalTime()的工作原理;请参阅MSDN。问题是这些日期时间实际上已经是UTC时间了。它们是从SQLServerCompact4.0数据库中提取出来的。它们以UTC存储在那里。我的主要问题是:如何修改DateTime的Kind属性以使其为UTC而不是未指定的?我不想更改时间或日期。因此,例如,日期2013年4月1日上午9:05,其

c# - DateTime.Now 的更新频率是多少?或者是否有更精确的 API 来获取当前时间?

我有一个循环运行的代码,它根据当前时间保存状态。有时这可能仅相隔几毫秒,但出于某种原因,似乎DateTime.Now将始终返回相隔至少10毫秒的值,即使它仅晚2或3毫秒。这提出了一个主要问题,因为我正在保存的状态取决于它被保存的时间(例如记录一些东西)我的测试代码以10毫秒的间隔返回每个值:publicstaticvoidMain(){vardt1=DateTime.Now;System.Threading.Thread.Sleep(2);vardt2=DateTime.Now;//Onmymachinethevalueswillbeatleast10msapartConsole.Wr

c# - DateTime.UtcNow 和 DateTime.Now.ToUniversalTime() 之间有什么区别

对我来说,它们是一样的。UtcNow只是一个捷径吗? 最佳答案 其实恰恰相反。Now属性实现为:publicstaticDateTimeNow{get{returnUtcNow.ToLocalTime();}} 关于c#-DateTime.UtcNow和DateTime.Now.ToUniversalTime()之间有什么区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/360

c# - 通过查询字符串传递 C# DateTime

我有一个C#DateTime对象。该对象包括日期和时间。我需要将此信息传递给基于REST的服务。我的问题是,如何格式化DateTime,以便我可以通过查询字符串传递它,并在服务器端将它解析回DateTime?DateTimestartDate=GetStartDate();stringurl="http://www.mydomain.com/myservice.svc/[startDateGoesHere]WebRequestrequest=HttpWebRequest.Create(url);request.BeginGetResponse(newAsyncCallback(Serv

c# - DateTime.Now 和文化/时区特定

我们的应用程序旨在处理来自不同地理位置的用户。Weareunabletodetectwhatisthecurrentenduserlocaltimeandtimezoneoperateonit.Theyselectdifferentculturelikesv-se,en-us,ta-IneventheyaccessfromEurope/Londontimezone..我们将其托管在美国的托管服务器上,应用程序用户来自挪威/丹麦/瑞典/英国/美国/印度问题是我们使用DateTime.Now来存储记录创建/更新日期等。由于服务器在美国运行,所有用户数据都保存为美国时间:(在对SO进行研究之

C# - 为什么 DateTime.MinValue 和 MaxValue 不是编译时常量?

我想为一个方法设置一个可选的日期参数(默认为MinValue),以便检查用户是否实际提供了一个值(提供MinValue无效),但显然我不允许这样做不是编译时常量。根据theMSDNpage,"这个常量的值等于00:00:00.0000000,January1,0001."那么为什么它不是编译时常量呢?为什么它与传入Int32.MinValue不同,这是允许的? 最佳答案 您不能定义DateTime常量(或结构)。来自MSDN的const允许类型是:Oneofthetypes:byte,char,short,int,long,floa

c# - 日历 System.Globalization.GregorianCalendar 不支持字符串表示的 DateTime

我只是想将出生日期保存到SQL数据库中,但每次出现新异常时,数据库字段类型都是日期时间。这是我的代码usinfo.BirthDate=DateTime.ParseExact(txtDOB.Text.ToString(),"MM/dd/yyyy",CultureInfo.InvariantCulture); 最佳答案 问题:您首先使用MM/dd/yyyy解析Month,但是你要像这样先给出date31/04/2012解决方案:您需要使用dd/MM/yyyy格式。试试这个:usinfo.BirthDate=DateTime.ParseE

c# - 如何使用 C# 中的指定容差比较 DateTime 对象?

默认情况下,C#将DateTime对象与100ns节拍进行比较。但是,我的数据库将DateTime值返回到最接近的毫秒。使用指定容差在C#中比较两个DateTime对象的最佳方法是什么?编辑:我正在处理截断问题,而不是舍入问题。正如乔在下面指出的那样,四舍五入的问题会引入新的问题。对我有用的解决方案是以下解决方案的组合。(dateTime1-dateTime2).Duration()如果差异小于一毫秒,则返回true。为了获得两个日期之间的差异的绝对值,调用Duration()很重要。 最佳答案 我通常使用TimeSpan.From

c# - .Net 的 DateTime 方法是否能够识别闰秒?

用LeapSecondonthehorizonforJunethisyear这让我想知道.Net框架是否支持闰秒?额外的一秒将在6月30日的最后一秒之后插入,因此UTC将正式为:2012June30,23h59m59s2012June30,23h59m60s2012July1,0h0m0s.Net框架能够处理这个问题吗?WindowsisnotLeapSecondaware是否重要?这是否会影响在LeapSecond感知的O/S上运行的单声道应用程序?编辑:为了稍微扩展一下,我设想了一个场景,其中Linux上基于Java的解决方案(支持LeapSecond)调用.NetWeb服务,传递