Tag: datetime

使用Noda Time在时区之间进行转换

我目前正在尝试确保我们的传统后端可以根据用户的当前时区(或更具体地说是偏移量)支持解析日期时间。 我们的服务器在东部标准时间,我们的大部分日期时间都来自那里。 但是,对于位于其他时区的用户,在检索这些日期时间时需要转换到其时区(或者,在这种情况下为偏移)。 此外,来自用户的日期时间必须在服务器上持久化之前转换为东部标准时间。 鉴于我们正在开发的前端是基于Web的,我能够在几分钟内检索用户的偏移量,并将该值传递到标头内的服务层。 我看了Noda Time并认为它是一个很棒的API。 它确实迫使我在更精致的事情中考虑时间,但我仍然不能100%确定我已正确使用它。 以下是我为上述转换编写的方法。 我测试了它们,它们似乎工作。 鉴于上面的场景,这看起来像是对图书馆的正确使用吗? 我正确地考虑约会时间吗? public static DateTime ConvertToUtcFromEasternTimeZone(DateTime easternDateTime) { NodaTime.DateTimeZone easternTimeZone = NodaTime.DateTimeZoneProviders.Tzdb.GetZoneOrNull(“America/New_York”); ZoneLocalMappingResolver customResolver = Resolvers.CreateMappingResolver(Resolvers.ReturnLater, Resolvers.ReturnStartOfIntervalAfter); var easternLocalDateTime = LocalDateTime.FromDateTime(easternDateTime); var easternZonedDateTime = easternTimeZone.ResolveLocal(easternLocalDateTime, customResolver); return easternZonedDateTime.ToDateTimeUtc(); } public static DateTime ConvertToEasternTimeZoneFromUtc(DateTime utcDateTime) { NodaTime.DateTimeZone easternTimeZone = NodaTime.DateTimeZoneProviders.Tzdb.GetZoneOrNull(“America/New_York”); NodaTime.DateTimeZone utcTimeZone = NodaTime.DateTimeZoneProviders.Tzdb.GetZoneOrNull(“UTC”); ZoneLocalMappingResolver customResolver […]

DateTime.Today.ToString(“dd / mm / yyyy”)返回无效的DateTime值

我想以GBR格式获取今天的日期,但是, DateTime.Now.ToString(“dd/mm/yyyy”); 返回值为08/00/2013 因此返回月份组中的00而不是返回04月份。 任何想法为什么会这样?

如何在ToLocalTime()中确定本地

使用ToLocalTime()时 ,如何确定本地时间? 是服务器或客户端的本地时间吗? 我的假设是运行应用程序的服务器。

System.DateTime的? vs System.DateTime

我正在写一些代码,我需要从我的页面中的Calendar控件读取日期值(Ajax工具包:日历扩展器)。 代码如下: DateTime newSelectedDate = myCalendarExtender.SelectedDate; 给出以下错误: Cannot implicitly convert type ‘System.DateTime?’ to ‘System.DateTime’. An explicit conversion exists (are you missing a cast?) 但是,通过插入一个演员我可以得到代码工作: DateTime newSelectedDate = (DateTime)myCalendarExtender.SelectedDate; // works fine! 日历控件的“SelectedDate”属性(Ajax工具包)将数据类型描述为“System.DateTime?” ……显然是’?’ 与所有这些有关。 当数据类型包含此符号时,究竟发生了什么?(?)…我假设我可以将’SelectedDate’属性直接应用于’DateTime’类型的变量而不进行强制转换。 谢谢

在C#中将LDAP AccountExpires转换为DateTime

我想将来自LDAP AccountExpires的18位数字符串转换为正常日期时间格式。 129508380000000000 >> 2011年5月26日 我使用以下链接获得了上述转换。 http://www.chrisnowell.com/information_security_tools/date_converter/Windows_active_directory_date_converter.asp?pwdLastSet,%20accountExpires,%20lastLogonTimestamp,%20lastLogon,%20and%20badPasswordTime 我尝试使用DateTime.Parse或Convert.ToDateTime进行转换。 但没有成功。 有谁知道如何转换它? 非常感谢。

创建仅包含月和日的日期时间,不包括年份

我在VS中为sharepoint创建一个计时器作业,我想创建一个只有月和日的Date对象。 这是因为我希望这份工作每年在特定日期开展。 如果使用日期对象是不可能的,那么你会怎么做呢? 这是我得到的: DateTime value = new DateTime(2010, 1, 18);

C#30 Days from Todays Date

我需要我的应用程序从今天起30天过期,我将当前日期存储在应用程序配置中。如何检查应用程序是否已过期? 我不介意用户是否更改了时钟并且应用程序正常工作(用户太愚蠢了)。 if (appmode == “Trial”) { ???? }

C#:如何将字符串转换为DateTime,其中字符串可以具有任何标准日期时间格式

我在DateTime上发布了一个关于String转换的问题,我得到了很多令人满意的答案..所以我非常感谢StackOverflow .. 这是String manupulation的另一个问题,我被困在.. 我必须使用C#代码转换字符串(来自某些外部源)..字符串可以具有这些预期的DateTime格式。 02/31/2009 01:59:59 24小时格式 02/31/2009 01:59:59 AM 12小时格式 2/31/2009 1:59:59 2/31/2009 1:59:59 AM 02/01/2009 01:59:59 AM 2/1/2009 1:59:59 等等 ……. 我尝试使用DateTime(Convert.ToInt32(string_date.Substring(6,4)),Int,Int,Int,Int,Int,Int) 即,通过提取月,日等的值 但它不起作用..因为我不能完美地用子串提取值…因为字符串的长度是变化的 我也试图提取“/”,“ 空间 ”和“:”的出现值,但它变成瓶颈,导出(非)发生AM / PM 只有日,月和小时的长度可以变化..

DateTime ToString(“dd / MM / yyyy”)返回dd.MM.yyyy

我也尝试屏蔽格式化字符串中的’/’符号,但它不太起作用。 我的最终目标是使用’/’符号作为分隔符来获取日期。 我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace(‘.’, ‘/’) ,但感觉有点过分。

TimeZoneInfo.ConvertTimeToUtc问题

我们遇到了一个问题,一个开发人员创建了下面的代码,它可以在他的DEV环境中运行。 但是当它被检入QA时,代码会出现以下错误消息: myRecord.UTCStartTime = TimeZoneInfo.ConvertTimeToUtc(myRecord.StartTime, myTimeZone); 转换无法完成,因为提供的DateTime没有正确设置Kind属性。 例如,当Kind属性为DateTimeKind.Local时,源时区必须为TimeZoneInfo.Local。 在我的DEV环境中,上面的代码生成与QA服务器相同的错误。 我应用以下更改来解决问题: DateTime utcStart = DateTime.SpecifyKind(myRecord.StartTime, DateTimeKind.Unspecified); myRecord.UTCStartTime = TimeZoneInfo.ConvertTimeToUtc(utcStart, myTimeZone); 为什么第一个代码示例在DEV1的环境中工作但在我的DEV环境和QA服务器上中断?