2015-11-11 1 views
0

Я хочу представлять даты со связанными зонами, но я не нашел ни одного типа для представления даты во время Noda (что-то похожее на LocalDate, но с информацией о зоне, приятно иметь структуру ZonedDate). Как я могу хранить дату для определенного ZonedDateTime?Преобразование ZonedDateTime на сегодняшний день с областью

Например: У меня есть структура типа ZonedDateTime = 2015/11/11 1:30 утра, и я хочу сохранить часть даты (2015/11/11) этого времени с TimeZone от ZonedDateTime.

+0

Возможно, вы могли бы уточнить, почему * вы хотите представить данные таким образом? Это странный запрос - может быть альтернативный подход, и, если нет, я бы хотел лучше понять прецедент. Благодарю. –

+0

@MattJohnson У меня есть набор элементов, каждый элемент имеет свойство «время начала», и мне нужно создать ComboBox с днями, содержащими только дни с хотя бы одним элементом (чтобы фильтровать элементы, начиная день, сравнивая даты начала времени часть с выбранной датой дня). Но все мои объекты используют определенный часовой пояс (не системный локальный, а не UTC), поэтому мне нужно показать время начала элементов и элементов списков пользователей в этом конкретном часовом поясе, а не пересчитываться в системный часовой пояс или UTC (стандартная привязка WPF со строковым форматом). –

+1

Извините, но я не совсем понимаю. Как это требует, чтобы «LocalDate» и «DateTimeZone» связывались вместе в один объект? –

ответ

2

Я предлагаю вам создать свой собственный класс или структуру, которые просто имеют их пару, или использовать Tuple<LocalDate, DateTimeZone>. На данный момент в Noda Time ничего особенного нет, и я не ожидаю добавить его, если мы не услышим это как запрос функции более широко.

Другим вариантом является просто использовать ZonedDateTime и извлечь из него дату, когда вам нужно, возможно, нормализовать «начало дня» (например, через DateTimeZone.AtStartOfDay(LocalDate)) ради испытаний на равенство. Но я лично уклоняюсь от этого, поскольку это подразумевает, что там хранится время в день, которое в вашем случае нет.

 Смежные вопросы

  • Нет связанных вопросов^_^