问题标签 [nodatime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
19222 浏览

c# - DateTimeOffset 如何处理夏令时?

我将计划存储在数据库中作为一周中的一天、小时和分钟。读取数据时,我们DateTime为下一次出现的那一天、小时和分钟创建一个对象,但我需要修改它以支持 DST。如有必要,我可以修改数据库。

我知道DateTimeOffset存储 UTC 日期/时间和偏移量。我也从这个 MSDN 博客条目中知道DateTimeOffset应该用于“使用夏令时”。

我正在努力理解的是DateTimeOffset“夏令时如何工作”。我的理解是,夏令时是一个政治决定,不能从纯粹的抵消中推断出来。如果这个结构只存储一个偏移量而不是一个命名的时区或国家,它怎么可能对 DST 友好呢?

0 投票
1 回答
2380 浏览

entity-framework - 如何告诉实体框架如何保存自定义类型的实例(可以存储为标量)

我的一个实体类可以作为 BIGINT 存储在 sql server 数据库中。我的问题是:如何获取实体框架上下文以了解如何存储和检索实体类的实例?

更多详情。我正在使用Noda Time,它可以表示比 SQL 或 .NET datetime 更广泛的日期范围(而且它是甜点浇头)。我的实体类 Happening 是 NodaTime 的 Instant 类的包装器。我可以使用 .SetFromLong(long instant) 和 .ToLong() 之类的方法从一个长事件中设置一个事件,并从事件中得到一个长事件。

目前我的模型正在工作,保存包含点网 DateTime 类型属性的类。相反,如果我想使用自定义类型“正在发生”的属性,我该如何告诉实体框架如何保存这些属性?

如果我正在阅读这篇关于建模和映射的文章,我是走在正确的轨道上还是错过了一些更简单的东西?

http://msdn.microsoft.com/en-us/library/bb896343.aspx

我正在使用实体框架 4。

0 投票
2 回答
2143 浏览

c# - 使用 NodaTime 计算包含天数的时间段

例如,如果我有以下代码:

然后daysBetween.Days == 1

但是,我计算的范围需要算作 2 天。即它需要包括开始和结束日期。

实际方法可以取开始和结束日期(相隔不超过一年),并且需要计算天数。如果超过 31 天,则将剩余的天数作为整周数返回。

我的逻辑工作正常,但因为计数是唯一的,所以我有一天会出去。

我想我可以在从它startDate.addDays(-1)创建之前做nodaStart,但我想知道是否有更优雅/漂亮的方式让 noda 返回期间。

谢谢


更新:我已经阅读了该类的源代码,并且运算符已重载,因此我可以添加Period+

0 投票
1 回答
128 浏览

c# - 如何正确处理 ZoneLocalMapping.ResultType.Ambiguous?

在我的代码中,我尝试处理 ZoneLocalMapping.ResultType.Ambiguous。线

抛出 InvalidOperationException 并显示消息“不应在类型不明确的结果上调用 EarlyMapping 属性”。

我不知道我应该如何处理它。你可以给我一个例子吗?

这就是我的代码的样子:

如果我查看 ZoneLocalMapping 类,我会看到以下代码:

这就是我收到异常的原因,但我应该怎么做才能获得 EarlyMapping?

0 投票
2 回答
534 浏览

javascript - 如何获取本地时间,而不是服务器时间?

无论服务器时间设置是否正确,我都使用这些代码行来找出印度古吉拉特邦的当地时间。但我注意到这不起作用。此行生成 SERVER TIME,但不生成 LOCAL TIME。如果服务器时间意外更改,则会导致问题。

在世界上任何国家/地区获得 LOCAL TIME 的确切解决方案是什么?

0 投票
2 回答
1917 浏览

c# - LocalDate 来自 Week 和 WeekYear

使用 NodaTime 库,如何根据周数和周 WeekYear 计算一周第一天的 LocalDate。

反过来:

像这样的假代码:

0 投票
2 回答
739 浏览

c# - 相互转换日历 使用 NodaTime 库

我使用Noda Time来处理DateTime问题,我阅读了几乎所有的文档,但是在将日历相互转换时遇到了一些问题,

  1. 首先,Noda 支持多少个日历?

    如前所述CalendarSystem,只有 4 个日历:

    a)CopticCalendar / b)GregorianCalendar / c)IslamicCalendar / d)JulianCalendar

    那么其他日历系统呢?

  2. 我使用波斯日历又名 Jalali 日历,那么有没有办法在 NodaTime 中使用这个日历?以及如何将其转换为公历?

  3. 我的最终目标是将时间(在特区)和日期都转换为 UTC 时区和格鲁吉亚日历。例如,时区和波斯历中的现在yyyy/MM/dd - HH:mm:ssAsia/Tehran是:(1391/06/30 - 10:01:15),格鲁吉亚历和 UTC 中的现在是(2012/09/20 - 05:01:15),那又如何你的建议是?单独的时间根本不重要,但日期,我对此一无所知(在 NodaTime 中),有没有办法在一个过程或方法中转换这两者?

0 投票
1 回答
546 浏览

c# - noda-time 在这种情况下是否适用?

我从事的项目基本上是一个数据收集器。通过定位,将其视为具有应用程序层(OSI 第 7 层)的解析/分析功能的 Wireshark(或等效项)可能会有所帮助。当前版本是具有 15 年以上历史的遗留 MFC 应用程序。它仍然有效,但维护、稳定性和可扩展性是我们面临的真正问题。项目领导团队最近同意我们需要开始开发下一代产品,我们的目标是 .NET,因为该产品严格来说是基于 Windows 桌面的产品。

鉴于我们的用户经常分析在世界各地收集的日志文件,消息时间戳非常重要。当前产品用于_ftime_s()分配时间戳,我曾假设我们将来会简单地用于System.DateTime.UtcNow在 .NET 端获取时间戳。也就是说,直到我读到noda-time。现在,我认为我们的问题域需要更多关注与时间相关的功能,这比我之前考虑的要多。

所以有几个问题。

  1. 根据我上面提供的描述,将noda-time用于NodaTime.Instant时间戳是否有意义?

  2. 如果可以选择,我更愿意为专门的支持付费,而不是因为害怕(偏执狂?)项目被放弃而使用开源项目。那些更倾向于接受开源哲学的人在这一点上有什么想法或指导吗?

  3. noda-time目前处于第二个测试阶段。NodaTime 1.0.0 有目标日期吗?

0 投票
1 回答
879 浏览

nhibernate - How do I create an NHibernate IUserType for a Time in Sql Server 2008/2012?

I am trying to create an NHibernate IUserType for the Noda Time LocalTime type which would logically map to a time type in Sql Server 2008/2012. I am able to get values saving and loading from the database. However, I can't write queries involving comparison of local times like _session.Query<SchedulingTemplate>().Where(x => x.Start < end && x.End >= start) gives the error SqlException (0x80131904): The data types time and datetime are incompatible in the less than operator.

The relevant code from my user type is:

The problem is that despite the above code indicating the database type is a time, it generates the following query (per Sql Profiler):

exec sp_executesql N'select [...] from [SchedulingTemplate] scheduling0_ where scheduling0_.Start<@p0 and scheduling0_.[End]>=@p1',N'@p0 datetime,@p1 datetime',@p0='1753-01-01 20:00:00',@p1='1753-01-01 06:00:00'

(note I omitted the select list for brevity)

Notice that the type and value of the parameters is being treated as datetime.

This appears to be very similar to two NH bugs that have been closed https://nhibernate.jira.com/browse/NH-2661 and https://nhibernate.jira.com/browse/NH-2660.

I tried to use NHibernateUtil.TimeAsTimeSpan and that didn't seem to work either. It generated exactly the same query which surprised me. I am thinking maybe the issue described in NH-2661 also exists for user types and was not fixed for that?

I am using NHibernate v3.3.1.400 and Noda Time 1.0.0-beta2

0 投票
1 回答
411 浏览

json.net - Noda Time Instance 值未正确反序列化

我目前正在使用 RavenDB 来存储一个使用 Noda Time 的 Instant 类来存储日期的对象。

RavenDb 将值存储为

“到达时间”:{“滴答声”:13507658019037497 },

但是当查询对象时,它始终为空,并在 unix 纪元时间开始时开始。

我曾尝试使用 JsonConvert 属性,但读取器始终为 Instant 类型返回空值。此外,如果我使用多个属性,它只指第一个。

我应该在 RavenDb 中使用 noda 时间还是只使用常规日期时间?

谢谢