Как я могу получить местный часовой пояс браузера с помощью Rust js_sys? - PullRequest
0 голосов
/ 07 мая 2020

Я использую ящик js_sys для запуска некоторого кода Rust в браузере.

Мне трудно понять, как использовать Intl::DateTimeFormat.

Все Я хочу получить местный часовой пояс, что делается с помощью этого кода JS:

const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;

Кажется, это не работает в Rust:

let tz = Intl::DateTimeFormat().resolved_options().time_zone();

  --> src/lib.rs:14:14
   |
14 |     let tz = Intl::DateTimeFormat().resolved_options().time_zone();
   |              ^^^^^^^^^^^^^^^^^^^^ did you mean `Intl::DateTimeFormat { /* fields */ }`?

Кажется, что хочет мне нужно создать новую структуру DateTimeFormat, но я просто хочу получить структуру "по умолчанию", если есть такая ...

Как я могу заставить это работать?

1 Ответ

0 голосов
/ 07 мая 2020

Спасибо @ pauan и, как было предложено @SOFe в комментариях, вот как это сделать:

let options = Intl::DateTimeFormat::new(&Array::new(), &Object::new())
        .resolved_options();

let tz = Reflect::get(&options, &JsValue::from("timeZone"))
        .expect("Cannot get timeZone")
        .as_string()
        .expect("timeZone is not a String");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...