Kur*_*ama 9 datetime timestamp rust
我正在使用Diesel和chrono.在我的模型中,我有一个NaiveDateTime包含类型的字段now().但是,NaiveDateTime没有功能now()或类似功能,DateTime而是:
Utc::now()
Run Code Online (Sandbox Code Playgroud)
我该如何转换Utc::now()成NaiveDateTime?
ken*_*ytm 14
Utc::now()返回一个DateTime<Utc>.您可以单击文档DateTime<T>并搜索NaiveDateTime.您应该会发现有两种方法可以返回NaiveDateTime:
fn naive_utc(&self) -> NaiveDateTime返回天真的UTC日期时间的视图.
fn naive_local(&self) -> NaiveDateTime返回天真本地日期时间的视图.
例如,如果您需要UTC中的时间戳:
let naive_date_time = Utc::now().naive_utc();
Run Code Online (Sandbox Code Playgroud)
请注意,既然您正在使用diesel,您可以使用diesel::dsl::now,它将CURRENT_TIMESTAMP在SQL端进行评估.
//! ```cargo
//! [dependencies]
//! diesel = { version = "1", features = ["sqlite"] }
//! ```
#[macro_use]
extern crate diesel;
use diesel::prelude::*;
use diesel::dsl;
table! {
posts (id) {
id -> Integer,
content -> Text,
published -> Timestamp,
}
}
fn main() {
let conn = SqliteConnection::establish("test.db")
.expect("Cannot open database");
diesel::insert_into(posts::table)
.values((
posts::content.eq("hello"),
posts::published.eq(dsl::now), // <------------------
))
.execute(&conn)
.expect("Insertion failed");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2347 次 |
| 最近记录: |