Java TIMESTAMP имеет конечные нули, как мне удалить? - PullRequest
1 голос
/ 15 августа 2011

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

Моя текущая проблема заключается в том, что когда я получаю метку времени из базы данных MySQL, кажется, что в конце загружается лишние нули. Когда я передаю это в PHP (да, это приложение на Java / PHP, которое мы пишем), тогда форматирование даты заканчивается неверным результатом.

Вот что я вижу:

2000-08-10 14:09:21 // Time in database
965912961000 // Timestamp from Java of this time
965912961 // The PHP equivalent of the database timestamp - using strtotime()

В модели Java у меня есть переменная, настроенная так:

@Temporal (TemporalType.TIMESTAMP)
private Date logTime

Итак, мой вопрос: как мне избавиться от трех конечных нулей? Очевидно, я мог бы удалить их с помощью PHP, но я бы предпочел, чтобы это было сделано из серверной части Java, если это возможно.

1 Ответ

6 голосов
/ 15 августа 2011

Непонятно, почему вы форматируете Date в целое число, но это простой жизненный факт, что Java Date измеряется в миллисекундах, тогда как предположительно PHP измеряется в секундах (так как Unixэпоха).

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

Если вы можете быть более ясными о том, как вы видитецелое число, чтобы начать с, мы можем помочь больше.

...