2008-10-22 2 views
2

У меня есть несколько мест в коде, где мне нужно использовать TimeZone. Я могу получить имя часового пояса, используя DateTime::TimeZone. Можно ли поместить имя часового пояса в константу? Или он должен быть в переменной?Должен ли часовой пояс быть константой или переменной?

ответ

5

Если значение может быть изменено, используйте переменную, она гарантированно останется неизменной, используйте константу.

Для часового пояса шанс, что он изменится, невелик, но он также не равен 0. Пользователь может изменить часовой пояс, и было бы неплохо, если бы программа действовала соответствующим образом.

+0

Спасибо за ответы. – 2008-10-22 09:16:24

3

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

2

Посмотрите, откуда находится часовой пояс. Это часовой пояс города? Сделайте это постоянным. Это часовой пояс пользователя? Сделайте это переменным - мы все время путешествуем, и мы сбросим часовой пояс на наших ноутбуках, чтобы планирование Outlook корректно работало в новом месте.