mirror of
https://github.com/quickwit-oss/tantivy.git
synced 2026-01-04 08:12:54 +00:00
Compare commits
1 Commits
test_parse
...
removed-ex
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d14a0115b |
@@ -14,23 +14,18 @@ use time::{OffsetDateTime, PrimitiveDateTime, UtcOffset};
|
|||||||
#[serde(rename_all = "lowercase")]
|
#[serde(rename_all = "lowercase")]
|
||||||
pub enum DateTimePrecision {
|
pub enum DateTimePrecision {
|
||||||
/// Second precision.
|
/// Second precision.
|
||||||
|
#[serde(alias = "seconds")]
|
||||||
#[default]
|
#[default]
|
||||||
Second,
|
Second,
|
||||||
|
#[serde(alias = "milliseconds")]
|
||||||
/// Millisecond precision.
|
/// Millisecond precision.
|
||||||
Millisecond,
|
Millisecond,
|
||||||
|
#[serde(alias = "microseconds")]
|
||||||
/// Microsecond precision.
|
/// Microsecond precision.
|
||||||
Microsecond,
|
Microsecond,
|
||||||
|
#[serde(alias = "nanoseconds")]
|
||||||
/// Nanosecond precision.
|
/// Nanosecond precision.
|
||||||
Nanosecond,
|
Nanosecond,
|
||||||
// TODO: Remove deprecated variants after 2 releases.
|
|
||||||
#[deprecated(since = "0.20.0", note = "Use `Second` instead")]
|
|
||||||
Seconds,
|
|
||||||
#[deprecated(since = "0.20.0", note = "Use `Millisecond` instead")]
|
|
||||||
Milliseconds,
|
|
||||||
#[deprecated(since = "0.20.0", note = "Use `Microsecond` instead")]
|
|
||||||
Microseconds,
|
|
||||||
#[deprecated(since = "0.20.0", note = "Use `Nanosecond` instead")]
|
|
||||||
Nanoseconds,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[deprecated(since = "0.20.0", note = "Use `DateTimePrecision` instead")]
|
#[deprecated(since = "0.20.0", note = "Use `DateTimePrecision` instead")]
|
||||||
@@ -156,16 +151,10 @@ impl DateTime {
|
|||||||
/// Truncates the microseconds value to the corresponding precision.
|
/// Truncates the microseconds value to the corresponding precision.
|
||||||
pub fn truncate(self, precision: DateTimePrecision) -> Self {
|
pub fn truncate(self, precision: DateTimePrecision) -> Self {
|
||||||
let truncated_timestamp_micros = match precision {
|
let truncated_timestamp_micros = match precision {
|
||||||
DateTimePrecision::Second | DateTimePrecision::Seconds => {
|
DateTimePrecision::Second => (self.timestamp_nanos / 1_000_000_000) * 1_000_000_000,
|
||||||
(self.timestamp_nanos / 1_000_000_000) * 1_000_000_000
|
DateTimePrecision::Millisecond => (self.timestamp_nanos / 1_000_000) * 1_000_000,
|
||||||
}
|
DateTimePrecision::Microsecond => (self.timestamp_nanos / 1_000) * 1_000,
|
||||||
DateTimePrecision::Millisecond | DateTimePrecision::Milliseconds => {
|
DateTimePrecision::Nanosecond => self.timestamp_nanos,
|
||||||
(self.timestamp_nanos / 1_000_000) * 1_000_000
|
|
||||||
}
|
|
||||||
DateTimePrecision::Microsecond | DateTimePrecision::Microseconds => {
|
|
||||||
(self.timestamp_nanos / 1_000) * 1_000
|
|
||||||
}
|
|
||||||
DateTimePrecision::Nanosecond | DateTimePrecision::Nanoseconds => self.timestamp_nanos,
|
|
||||||
};
|
};
|
||||||
Self {
|
Self {
|
||||||
timestamp_nanos: truncated_timestamp_micros,
|
timestamp_nanos: truncated_timestamp_micros,
|
||||||
|
|||||||
Reference in New Issue
Block a user