问题标签 [rust-chrono]
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.
rust - 如何将 `chrono::format::strftime` 静态转换为 `chrono::format::Item`?
我有一个chrono::format::strftime
我的应用程序支持的静态格式数组。我想避免在运行时解析它们,所以我定义了一个lazy_static!
块,将它们解析为chrono::format::Item
.
但是,当我尝试遍历已解析的集合时,出现错误:
这是一个简短的复制:
尝试format
在循环中取消引用会产生此错误:
尝试克隆format
似乎可行,但是在这里克隆似乎是多余的,我想避免它。
这是正确的方法吗?或者也许使用宏是更好的选择?
mysql - 使用 Diesel 从 mySQL 数据库中检索日期时间
我无法使用 Rocket 和 Diesel 从填充的 mySQL 数据库中检索日期时间。
这是我的模型:
我的架构:
这会产生错误:
我该如何解决?我测试了一堆用途,比如diesel:mysql_types
,rocket:config
等等,似乎不是问题所在。
rust - 特征 `std::ops::Add` 没有为 `chrono::DateTime 实现`
失败:
我找不到Add
要导入的实现。use chrono::*
不会有帮助的。
我看到它datetime.rs
有一个 impl Add<chrono::oldtime::Duration>
,但是oldtime
是私有的,所以我不知道如何创建一个oldtime::Duration
.
我如何获得Add
我需要的 impl?我如何转换std::time::Duration
为chrono::oldtime::Duration
? 有什么我可以导入来隐式转换的吗?
我正在使用rustc 1.25.0 (84203cac6 2018-03-25)
rust - 如何在 Rocket.rs 的 url 中使用日期?
您将如何更改 Rocket 网站上的示例以获取 date 而不是 age/ u8
?
来自网站的示例:
我想要或多或少相同的输出(你好,58 岁,名叫约翰!)但是有这样的东西
而不是那个
我认为正确的结构是chrono::DateTime并且以某种方式涉及Rocket::request::FromParam但我从那里有点迷失了。
datetime - 如何将 chrono DateTime 设置为特定的日期和时间?
我需要创建一个chrono::DateTime<Local>
设置为特定日期和时间的实例。例如,我需要创建一个DateTime<Local>
实例,该实例设置为 2019 年 3 月 17 日下午 4:43(或 2019 年 3 月 17 日下午 16:43)。
struct的文档DateTime
显示了如何通过now
函数获取当前日期和时间,以及对获取持续时间的大量支持。似乎有一些令人困惑的特征和转换函数,但似乎没有任何东西可以让我直接创建DateTime
代表特定日期和时间的实例。
是否可以创建这样的实例?如果是这样,怎么做?
rust - 如何为计时时间戳使用自定义 serde 反序列化器?
我正在尝试将 JSON 解析为具有chrono::DateTime
字段的结构。JSON 以自定义格式保存时间戳,我为此编写了反序列化程序。
如何连接两者并使用它来工作#[serde(deserialize_with)]
?
我正在使用NaiveDateTime
更简单的代码
我收到三个不同的编译错误:
我很确定该from_timestamp
函数返回的是DateTime
struct 而不是 a Result
,所以我不知道“预期的 struct chrono::NaiveDateTime
,找到的 enum std::result::Result
”可能意味着什么。
date - 为什么我的 RFC 2822 日期没有被 chrono 解析?
我正在编写一些代码来解析 RSS 提要,但我遇到了Abstruse Goose RSS 提要的问题。如果您查看该提要,日期编码为Mon, 06 Aug 2018 00:00:00 UTC
. 对我来说,它看起来像 RFC 2822。
我尝试使用 chrono's 解析它DateTime::parse_from_rfc2822
,但我得到了ParseError(NotEnough)
.
有什么我做错了吗?我必须以某种方式破解它吗?
我使用rfc822_sanitizer,它可以很好地修复错误的书写错误(大部分时间)。我不认为它会影响解析......但谁知道呢?
rust - 如何使用 Rust chrono 获得 1 天的持续时间?
我正在处理一些适用于天数的 Rust 代码,但根据Duration::days(n)
文档的n * 24 * 60 * 60
秒数,它的实现不是 n 天,因为并非所有天都是24 * 60 * 60
秒。
这种行为有据可查:
pub fn days(days: i64) -> Duration
用给定的天数制作一个新
Duration
的。等效于Duration::seconds(days * 24 * 60 * 60)
溢出检查。持续时间超出范围时出现恐慌。
Rust Chrono 有没有办法获得严格来说是 1 天而不是几秒并且与DateTime
类型兼容的持续时间?并非所有天的秒数都相同。seconds
并且days
是完全不同的单位。如果有这样的功能,那么以下总是会给出第二天同一时间的结果?
同样,Duration:days(1)
不是这样的函数,因为它返回1 * 24 * 60 * 60
秒,而不是1 天。
例如,将TZ设置为America/Denver,如下所示:
回报:
它增加了86400 秒,而不是1 天。
我可以得到正确的结果:
但我更喜欢一个返回持续时间的函数,并且通常想了解更多关于 Rust Chrono 处理持续时间的功能。它是否有单位不是秒的持续时间?几周、几个月和几年呢,它们也有可变的秒数。
我可能应该说我不了解 Rust,现在才使用它几天,而且我没有太多阅读源代码。我确实看过它,但由于我对语言的熟悉程度有限,很难理解。
rust - 如何使用 rust chrono 在指定时区的指定日期和时间获取 DateTime
我有一个时区名称,例如“America/New_York”以及该时区中特定时间的年、月、日、小时、分钟和秒。如何在该时区获得该时间的时区感知 DateTime 对象。类似于 Local 对象,但使用指定的时区而不是本地时区。
这给出了我想要的结果,但我不想设置 TZ 环境变量,因为我希望 Local 保持本地时间,并且我需要能够针对不同情况更改 TZ,而 chrono 只读取 TZ 环境变量一次,据我所知。
我想要的是类似的东西
让 x = ???.tz("America/New_York").ymd(2019, 12, 1).and_hms(2, 0, 0);
这将返回一个时区感知 DateTime,它将在给定时区的情况下正确处理诸如添加和减去持续时间之类的操作。因此,FixeOffest 不起作用,因为添加一个跨越夏令时转换的持续时间,例如,不会(根据我的经验)产生具有正确偏移量的结果 - 即使那样它也保持在原始固定偏移量' t 在新日期申请。
有这样的事吗?我可以在不设置 TZ 环境变量的情况下创建具有指定 TZ 的 Local 对象吗?
rust - 如何计算两个 chrono::DateTime 之间的持续时间?
我正在使用chrono crate 并想计算Duration
两个DateTime
s 之间的值。