问题标签 [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 投票
2 回答
6805 浏览

timezone - 我应该如何从 Noda Time 填充 IANA / Olson 时区列表?

我在应用程序中使用 NodaTime,我需要用户从下拉列表中选择他们的时区。我有以下软要求:

1) 该列表仅包含对真实地点的当前和不久的将来合理有效的选择。应过滤掉历史、晦涩和通用的时区。

2) 列表应首先按 UTC 偏移量排序,然后按时区名称排序。这有望使它们按对用户有意义的顺序排列。

我编写了以下代码,它确实有效,但并不完全符合我的要求。过滤器可能需要调整,我宁愿让偏移量代表基本(非 dst)偏移量,而不是当前偏移量。

建议?建议?

0 投票
1 回答
334 浏览

timezone - 将时区 ID 存储在数据库中是否安全或可以更改?

我刚刚开始使用 NodaTime。在我的应用程序中,用户创建一个事件并选择一个时区。无论我使用 BCL (Windows) 时区列表还是 TZDB (Olson) 列表(不要混合使用它们!),我都需要将时区的 id 持久化到我的数据库中,以便以后可以重新创建时区- 意识到时间。

鉴于时区 id 似乎有些随意,并且不是 ISO 标准,我是否可以依靠将来调用 GetZoneOrNull 时始终找到该 id?

我假设 GetZoneOrNull 方法是针对这种情况的防御;也就是说,当它被传递一个不存在于它自己的 Ids 集合中的 id 时。我的问题是:如果从 Ids 集合中检索到一个 id,我可以相信 GetZoneOrNull 将来永远不会返回 null 吗?

但是,如果一个身份可以从历史中消失,那么最好的应对策略是什么?

0 投票
1 回答
622 浏览

nodatime - 如何使用 Noda Time 解析多种格式?

*Pattern我喜欢 Noda Time 使用命名空间中的各种类型来处理格式化和解析值NodaTime.Text。但是,用户输入通常不像单一格式那样规则。例如,我们的应用程序使用时间格式"h:mm tt",但我们希望能够解析以下任何格式的用户输入:

  • h:mm tt
  • h:mmtt(没有空间)
  • h:mm t
  • h:mmt(没有空间)
  • h tt
  • hh:mm
  • 等等...

有没有办法使用 Noda Time 来解析可能是多种格式的输入?

0 投票
1 回答
1032 浏览

c# - 有什么东西可以将 Olson 时区列表简化为 UI 的可读格式(就像 Google 日历一样)?

我正在编写一个要求用户选择时区的应用程序。我正在从 Olson 数据库(通过 NodaTime)中获取我的时区列表,但至少出于我的目的,这是一个包含许多冗余条目的庞大列表。

当您在 Google 日历上创建活动时,它允许您从相对较小的列表中选择时区,并在必要时按国家/地区排序。我希望能够在不创建单独数据库的情况下实现如此简单的事情,这就是 这个人所做的。

因为我在前端使用 C# MVC 和 JavaScript 编写此代码,所以我正在寻找其中任何一种语言的库,它可以以用户友好的格式为我提供一个简化的列表,我可以在下拉列表中显示。有没有这样的事情,还是我必须自己创建并定期更新,就像超链接中显示的示例一样?

0 投票
1 回答
298 浏览

c# - 如何在 PropertyGrid 中使用 NodaTime 类?

我正在将一些应用程序代码转换为使用 NodaTime 类而不是 System.DateTime。我的应用程序的一部分使用 PropertyGrid 控件来允许用户编辑包含 LocalDate 和 Instant 的类。在不更改任何内容的情况下,PropertyGrid 可以正常显示属性,但它们不再可编辑。允许用户编辑这些字段的最佳方式是什么。

为了说明起见,我们可以使用这个类作为我想要显示和编辑的事物类型的代表:

0 投票
2 回答
2607 浏览

json.net - 如何使用 Json.net 反序列化带有 NodaTime.Instant 的字典而不会出现异常?

使用json.net将带有 NodaTime.Instance 的字典序列化为 json效果很好,但是在反序列化时会抛出Newtonsoft.Json。JsonSerializationException。下面的测试显示了问题:

反序列化对象抛出:

Newtonsoft.Json.JsonSerializationException:无法将字符串“2012-01-02T03:04:05Z”转换为字典键类型“NodaTime.Instant”。创建一个 TypeConverter 以从字符串转换为键类型对象。第 1 行,位置 24。----> Newtonsoft.Json.JsonSerializationException:将值“2012-01-02T03:04:05Z”转换为类型“NodaTime.Instant”时出错。第 1 行,第 24 位。----> System.Exception:无法从 System.String 转换或转换为 NodaTime.Instant。

作为旁注,反序列化 DateTime 字典可以正常工作。我猜是因为 String 有一个 DateTime 转换器。

0 投票
2 回答
337 浏览

c# - 解析用户输入,包括 tz 数据库时区名称

我正在尝试使用 Noda Time 解析用户输入。

输入:

  • 日期形式为YYYY-MM-DD
  • 小时
  • 分钟
  • tz 数据库时区名称(从 Google 的时区 API 返回)

我需要将此数据转换为 UTC 和其他时区,同样基于 tz 数据库时区名称。

目前我正在尝试理解LocalDateTimeZonedDateTime差异,但也许有人能够在我(希望)弄清楚之前展示如何做到这一点。

0 投票
1 回答
283 浏览

c# - DateTimeZone 到/从数据库

我正在尝试使用 Jon Skeet(和其他人)的Noda Time框架。

如何存储DateTimeZone并从数据库中检索它。我认为Id属性值可能是要设置到数据库的值,但是由于 DateTimeZone 是一个抽象类,如何从 Id 创建一个 DateTimeZone ?

0 投票
2 回答
17756 浏览

c# - NodaTime 的 Instant.Now

我正在尝试使用 Jon Skeet(和其他人)的Noda Time框架。

我正在尝试存储当前(即时)。Instant 是从长滴答声中创建的,但是当前滴答声的计数是多少?

是吗:

或者?

他们是等价的吗,我这样做对吗?

PS,如果乔恩回答是这个 - 我想提出一个 Instant.Now 属性。

PS2 我知道标题包含一个标签,但它不会让我有一个简短的“Instant.Now”标题。

0 投票
3 回答
2852 浏览

c# - 使用 Noda Time,如何使用 LocalDate 和 LocalTime 创建 LocalDateTime

我有一个 LocalDate 和一个 LocalTime 并且想简单地从它们创建一个 LocalDateTime 结构。我想到了以下扩展方法,我认为它是最快的,但由于一个模糊的原因,当前版本的 API 中不存在 localTime.TickOfMillisecond 字段。所以它不起作用。

那么,我是否被困在使用的同时:

任何建议表示赞赏。