2009-11-20 3 views
3

Я использую 64-битное представление времени в формате UTC System.currentTimeInMillis() и отправку его клиенту Actionscript как String, и я хочу преобразовать его в ActionScript UTC Date.Преобразование 64-битной временной метки времени UTC в ActionScript Дата

Проблема заключается в том, что ActionScript (и другой ECMAScript, такой как Javascript) использует только 64-разрядное представление чисел с плавающей запятой, поэтому точность при переходе на 64-битную временную метку теряется.

Я мог бы создать свой собственный длинный класс и управлять верхним и нижним битами и преобразовать дату, подобную этой (но со всеми этими усилиями я могу также отправить строку с отформатированной датой, которую я могу вызвать с помощью Date.parse()).

+1

+1 Для вас, похоже, есть вопрос и ответ на него :) – Amarghosh

+0

Если вы отправляете 64-битное представление Java, ближайшая вещь, которую вы получаете, двойная (http://livedocs.adobe.com/flash/ 9.0/ActionScriptLangRefV3/flash/utils/ByteArray.html # readDouble()) не долго, но, как вы сказали, это не стоит проблем. –

ответ

1

Если у вас нет настоящих причин производительности, используйте String (вы используете ActionScript, так что почти наверняка нет). Это будет более очевидным, менее подверженным ошибкам и легче отлаживать, если вам нужно смотреть сообщения на проводе.

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