Skip to content

Add from_timestamp_micros function#906

Merged
djc merged 1 commit intochronotope:0.4.xfrom
MaterializeInc:from_timestamp_micros
Dec 15, 2022
Merged

Add from_timestamp_micros function#906
djc merged 1 commit intochronotope:0.4.xfrom
MaterializeInc:from_timestamp_micros

Conversation

@umanwizard
Copy link
Contributor

Fixes #904

Copy link
Member

@djc djc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

(2034061609000000, "2034-06-16 09:06:49.000000000"),
];

for (timestamp_micros, formatted) in valid_map.iter().cloned() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: cloned() -> copied().


let invalid = [i64::MAX, i64::MIN];

for timestamp_micros in invalid.iter().cloned() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here.

// Test that the result of `from_timestamp_micros` compares equal to
// that of `from_timestamp_opt`.
let secs_test = [0, 1, 2, 1000, 1234, 12345678, -1, -2, -1000, -12345678];
for secs in secs_test.iter().cloned() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And here.

datetime.expect("invalid or out-of-range datetime")
}

/// Creates a new [NaiveDateTime] from milliseconds or microseconds since the UNIX epoch.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style nit: I would prefer this (private) API to be ordered below the public users of this method.

@djc djc requested a review from esheppa December 14, 2022 10:32
@umanwizard umanwizard force-pushed the from_timestamp_micros branch from 6745898 to 785096b Compare December 14, 2022 14:16
@umanwizard
Copy link
Contributor Author

umanwizard commented Dec 14, 2022

I have changed cloned to copied in the test (and in the similar test for from_timestamp_millis), and moved the private method to the very bottom of the impl block.

Copy link
Collaborator

@esheppa esheppa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!


// Test that the result of `from_timestamp_micros` compares equal to
// that of `from_timestamp_opt`.
let secs_test = [0, 1, 2, 1000, 1234, 12345678, -1, -2, -1000, -12345678];
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding this here as well!

@djc djc merged commit a1591e9 into chronotope:0.4.x Dec 15, 2022
@djc djc mentioned this pull request Jan 3, 2023
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Mar 15, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [chrono](https://github.com/chronotope/chrono) | dependencies | patch | `0.4.23` -> `0.4.24` |

---

### Release Notes

<details>
<summary>chronotope/chrono</summary>

### [`v0.4.24`](https://github.com/chronotope/chrono/releases/tag/v0.4.24): 0.4.24

[Compare Source](chronotope/chrono@v0.4.23...v0.4.24)

This is a small maintenance release with accumulated fixes and improvements.

-   Fix doc on `Days::new()` to refer to days, not months ([#&#8203;874](chronotope/chrono#874), thanks to [@&#8203;brotskydotcom](https://github.com/brotskydotcom))
-   Clarify out of range value for `from_timestamp_opt()` ([#&#8203;879](chronotope/chrono#879), thanks to [@&#8203;xmo-odoo](https://github.com/xmo-odoo))
-   Add `format_localized()` for `NaiveDate` ([#&#8203;881](chronotope/chrono#881), thanks to [@&#8203;mseele](https://github.com/mseele))
-   Fix bug in `Add`/`Sub` `Days`, add tests with DST timezone ([#&#8203;878](chronotope/chrono#878))
-   Make `NaiveTime::MIN` public ([#&#8203;890](chronotope/chrono#890))
-   Fix `from_timestamp_millis()` implementation and add more tests ([#&#8203;885](chronotope/chrono#885))
-   Fix typo in docstrings ([#&#8203;897](chronotope/chrono#897), thanks to [@&#8203;dandxy89](https://github.com/dandxy89))
-   Add test proving that [#&#8203;903](chronotope/chrono#903) is fixed in 0.4.x head ([#&#8203;905](chronotope/chrono#905), thanks to [@&#8203;umanwizard](https://github.com/umanwizard))
-   Add `from_timestamp_micros()` function ([#&#8203;906](chronotope/chrono#906), thanks to [@&#8203;umanwizard](https://github.com/umanwizard))
-   Check cargo-deny in CI ([#&#8203;909](chronotope/chrono#909))
-   Derive `Hash` for most pub types that also derive `PartialEq` ([#&#8203;938](chronotope/chrono#938), thanks to [@&#8203;bruceg](https://github.com/bruceg))
-   Update deprecated methods in `from_utc()` example ([#&#8203;939](chronotope/chrono#939), thanks to [@&#8203;greg-el](https://github.com/greg-el))
-   Fix panic in `DateTime::checked_add_days()` ([#&#8203;942](chronotope/chrono#942), thanks to [@&#8203;Ekleog](https://github.com/Ekleog))
-   More documentation for dates before 1 BCE or after 9999 CE ([#&#8203;950](chronotope/chrono#950), thanks to [@&#8203;cgit](https://github.com/cgit))
-   Improve `FixedOffset` docs ([#&#8203;953](chronotope/chrono#953), thanks to [@&#8203;klnusbaum](https://github.com/klnusbaum))
-   Add chrono-fuzz to CI and update its libfuzzer-sys dependency ([#&#8203;968](chronotope/chrono#968), thanks to [@&#8203;LingMan](https://github.com/LingMan))
-   Fixes to parsing and calculation of week numbers ([#&#8203;966](chronotope/chrono#966), thanks to [@&#8203;raphaelroosz](https://github.com/raphaelroosz))
-   Make iana-time-zone a target specific dependency ([#&#8203;980](chronotope/chrono#980), thanks to [@&#8203;krtab](https://github.com/krtab))
-   Make eligible functions `const` ([#&#8203;984](chronotope/chrono#984), thanks to [@&#8203;tormeh](https://github.com/tormeh))

Thanks to all contributors from the chrono team, [@&#8203;esheppa](https://github.com/esheppa) and [@&#8203;djc](https://github.com/djc).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS42LjAiLCJ1cGRhdGVkSW5WZXIiOiIzNS42LjAifQ==-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1815
Reviewed-by: crapStone <crapstone@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants