Часовой пояс SQLAlchemy DateTime

Здесь есть хорошие ответы. Я бы добавил к ним следующие моменты.

Каков правильный способ C # для представления структуры данных, которая «логически» (то есть «для человеческого разума») просто список вещей с несколькими колокольчиками?

Спросите любого десяти людей, не являющихся компьютерными программистами, которые знакомы с наличием футбола, чтобы заполнить пробел:

A football team is a particular kind of _____

Кто-нибудь сказал «список футболистов с несколькими колокольчиками», или все они говорили «спортивная команда» или «клуб» или «организация»? Ваше мнение о том, что футбольная команда - это особый список игроков , - это ваш ум и ваш человеческий разум.

List является механизмом . Футбольная команда является бизнес-объектом , то есть объектом, который представляет собой концепцию, которая находится в бизнес-домене программы. Не смешивайте их! Футбольная команда - это своего рода команда ; у него есть список , список - список игроков . Реестр не является конкретным списком игроков . Список - список игроков. Поэтому создайте свойство, называемое Roster, которое является List. И сделайте это ReadOnlyList, пока вы на нем, если не верите, что все, кто знает о футбольной команде, удаляют игроков из списка.

Наследуется от List всегда неприемлемо ?

Неприемлемо для кого? Меня? Нет.

Когда это приемлемо?

Когда вы создаете механизм, который расширяет механизм List .

Что должен знать программист, когда решая, наследовать ли от List или нет?

Я строю механизм или бизнес-объект ?

Но это много кода! Что я получаю за все, что работает?

Вы потратили больше времени, набрав свой вопрос о том, что потребовалось бы пятьдесят раз написать методы пересылки для соответствующих членов List. Вы явно не боитесь многословия, и здесь мы говорим о очень небольшом количестве кода; это несколько минут работы.

UPDATE

Я немного подумал, и есть еще одна причина не моделировать футбольную команду как список игроков. На самом деле может быть плохой идеей моделировать футбольную команду, поскольку имеет список игроков. Проблема с командой, имеющей список игроков, заключается в том, что у вас есть моментальный снимок команды в момент времени . Я не знаю, каково ваше деловое дело для этого класса, но если бы у меня был класс, представлявший футбольную команду, я бы хотел задать ему вопросы: «Сколько игроков Seahawks пропустили игры из-за травмы в период с 2003 по 2013 год?» или «Какой игрок в Денвере, который ранее играл за другую команду, имел наибольшее увеличение по годам в ярдах?» или « В этом году все пигеры прошли весь путь? »

То есть, футбольная команда кажется мне хорошо смоделированной как сборник исторических фактов , например, когда игрок был завербован, получил травму, вышел на пенсию и т. д. Очевидно, что текущий список игроков является важным фактом, который, вероятно, должен быть фронт-центром, но могут быть другие интересные вещи, которые вы хотите сделать с этим объектом которые требуют более исторической перспективы.

42
задан 9 revs, 4 users 95% 13 August 2018 в 18:19
поделиться

1 ответ

http://www.postgresql.org/docs/8.3/interactive/datatype-datetime.html#DATATYPE-TIMEZONES

Все осведомленные о часовом поясе даты и время хранятся внутренне в UTC. Они преобразовываются в местное время в зоне, определенной параметром конфигурации часового пояса прежде чем быть отображенным клиенту.

единственный способ снабдить его postgresql состоит в том, чтобы сохранить его отдельно.

18
ответ дан iny 27 November 2019 в 00:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: