За последние два дня мы делали единую интеграцию в систему с хорошо известной компанией с одной картой (наш продукт написан в Java, а программа другой стороны написана в .NET). То есть количество секунд, в течение которого текущее время относительно 00:00:00 н.э. 1970-1-1. Согласно документации, которую они дали, я завершил Java Part.
Кода -копия выглядит следующим образом:
Private String CreateMestamp () // временные метки
{
return System.currentTimeMillis () / 1000 + "";
}
Используйте метод System.currentTimeMillis (), чтобы получить миллисекунды с 0:00:00 1 января 1970 года, а деление на 1000, естественно, количество секунд. Но произошла авария.
Время, сгенерированное .NET, является текущим временем текущего часового пояса, в то время как метод java CurrentTimemillis () - это время от GMT. Часовой пояс, где находится Китай, - это зона +8, поэтому разница во времени составляет 8 часов!
Поэтому, когда детская обувь сталкивается с временем, несовместимым между .NET и Java, чаще рассматривайте часовой пояс, и, возможно, вы можете найти решение :)
Конечно, я дам решение:
Метод 1: Добавьте параметры при запуске JVM, укажите часовой пояс -d user.timezone = gmt+08
Метод 2: Установите часовой пояс непосредственно в программе. System.SetProperty ("user.Timezone", "GMT +08");
Метод 3: просто добавьте 28800 (8 часов*60min*60Sec = 28800)