草庐IT

日期差

全部标签

c# - 指定日期时间的时区而不更改值

我想知道如何在不实际更改值的情况下更改DateTime对象的时区。这是背景...我在AppHarbor上托管了一个ASP.NETMVC站点,并且服务器的时间设置为UTC。当我从我的站点提交包含日期时间值的表单时,比如2013年9月17日凌晨4:00,它会以该值发送到服务器。但是,当我这样做时:publicActionResultSave(Entityentity){entity.Date=entity.Date.ToUniversalTime();EntityService.Save(entity);}...它错误地将其保留为同一时间(凌晨4点),因为服务器已经在UTC时间。所以在转换

c# - 将带时区的 ISO 8601 解析为 .NET 日期时间

我有一个ISO8601格式的时间戳:YYYY-MM-DDThh:mm:ss[.nnnnnnn][{+|-}hh:mm]YYYY-MM-DDThh:mm:ss[{+|-}hh:mm]例子:2013-07-03T02:16:03.000+01:002013-07-03T02:16:03+01:00如何将其解析为提供了正确TimeZone的.NETFrameworkDateTime?DateTime.TryParse不起作用,因为有关TimeZone的尾随信息。 最佳答案 您应该能够使用DateTimeOffset和Kcustomform

c# - 易变的日期时间

因为DateTime不能声明为volatile,这样对吗?privateDateTime_time;publicDateTimeTime{get{Thread.MemoryBarrier();return_time;}set{_time=value;Thread.MemoryBarrier();}}该属性可以从不同的线程访问,所以我想确保它们始终获得最新版本,而不使用争用(lock)。编辑:我有一组难以创建的项目,每个项目都有一个名为CreationTime的DateTime属性,指示该项目的创建时间。它被初始化为DateTime.UtcNow。每次访问项目时,该属性都会更新为Date

c# - 如何在 C# 中将 byte[] 转换为日期时间?

我在数据库中有一个TimeStamp类型的字段,它在c#代码中的byte[]中进行了转换,我需要将其转换为DateTime值。所以我想将字节数组转换为DateTime。已使用此代码:byte[]byteValue=someValue;longlongVar=BitConverter.ToInt64(byteValue);DateTimedateTimeVar=DateTime.FromBinary(longVar);这样可以吗? 最佳答案 SQLServer中的时间戳列(现在称为rowversion)不可转换为日期时间值-它纯粹是服

c# - 如何将日期正确转换为 UTC,然后再将其转换回来?

我正在努力将DateTime转换为UTC,这个概念以及所有我没有正确理解的东西。当我得到一个日期时间字符串时,比如“7/10/2013”​​,我只是这样做Convert.ToDateTime("7/10/2013").ToUniversalTime();这将在数​​据库中将其记录为“7/10/20134:00:00AM”。服务器位于美国东海岸(-5)。当然,在2013年7月期间,仍在观察DST,因此该时间段的偏移量为-4,因此额外的4小时4:00:00AM"记录为UTC。当我写这篇文章时,现在是2014年2月,而且DST没有生效,所以现在的偏移量是-5。在我的应用程序中,这是我在应用程

c# - 日期时间字符串解析

我已经制作了一个用于解析ascii文件的通用解析器。当我想解析日期时,我使用DateTime对象中的ParseExact函数来解析,但我遇到了年份问题。要解析的文本是“090812”和parseExact字符串“yyMMdd”。我希望得到一个显示“12/8-2009”的DateTime对象,但我得到的是“12/8-1909”。我知道,我可以通过事后解析来做出丑陋的解决方案,从而修改年份..有人知道解决这个问题的聪明方法吗??提前致谢..索伦 最佳答案 这样做的理论上优雅的方法:更改Calendar的TwoDigitYearMax属性

c# - 如何删除时间并仅在 RDLC 中显示日期

我正在使用Winform(C#)和RDLCMySQL。因为我尝试只在Tablex中显示日期。但是这种日期格式也有时间。如何删除时间。我的表达是,..=Fields!date.Value请参阅下面的报告。提前致谢?我在表达式中尝试了=Fields!date.Value.ToString("dd/MM/yyyy")但它通过错误,..错误1​​验证时出错。HRESULT='8000000A' 最佳答案 您可以使用FormatDateTime方法:=FormatDateTime(Fields!date.Value,DateFormat.Sh

c# - 如何将 SQL 日期转换为 DateTime?

我的SQL数据库中有一个类型为date的列。如何将其转换为C#DateTime,然后再转换回SQLdate? 最佳答案 sqlDATE可以直接转换为.netDateTime,反之亦然。要获取它,请使用SqlDataReader.GetDatetimeMethodDateTimemyDate=myDataReader.GetDateTime(myColumnIndex);要设置它,只需将其分配给SqlParameter的值即可并使用DateTime的.Date属性 关于c#-如何将SQL日

c# - 检查日期范围是否在日期范围内

我有以下类(class):publicclassMembership{publicDateTimeStartDate{get;set;}publicDateTime?EndDate{get;set;}//Ifnullthenitlastsforever}我需要确保在添加到以下列表时新项目不会与现有项目的日期重叠:varmembership=newList{newMembership{StartDate=DateTime.UtcNow.AddDays(-10),EndDate=DateTime.UtcNow.AddDays(-5)},newMembership{StartDate=Dat

C# 日期时间 : Conversion for different time zones

我有一堆日期时间可以跟踪我的应用程序。它们都是UTC时间。对于我的应用程序的一部分,我想发送一封包含其中一个时间的电子邮件,但已编辑为在该特定时区。我将处理的主要区域只有两个,东海岸和德克萨斯州(达拉斯和休斯顿)我还可以在发送此电子邮件时创建一个新的日期时间以获取东部时区(DateTimetimestamp=DateTime.Now;)我的问题是:如果用户在德克萨斯地区,我如何将我的时间从东部时间转换为那个时间(少1小时)?我试过这样的://ConverttimestamptolocaltimeTimeSpants=TimeZone.CurrentTimeZone.GetUtcOffs