dateTimeWithTimeZone = Instant.now().toString();
System.out.println(dateTimeWithTimeZone);
Когда я только что запустил этот фрагмент, я получил такой вывод:
2019-03-18T22: 28: 13.549319Z
blockquote>На странице, на которую вы ссылаетесь, непонятно, но это строка ISO 8601 в UTC, так что должно быть все, что вам нужно. Я пользуюсь тем фактом, что классы java.time создают выходные данные ISO 8601 из своих методов
toString
. Связанная страница показывает формат с дефисами,T
и двоеточиями (2008-09-15T15:53:00+05:00
), показывает еще один пример с десятичными знаками на секундах (15:53:00.322348
) и третий пример сZ
, означающим UTC (20080915T155300Z
) поэтому я ожидаю, что комбинация всех трех из них тоже будет в порядке.Формат, который вы использовали в квестоне, похоже, пытается получить смещение как
+00:00
, а неZ
. Если это требование, это только немного сложнее. Мы используем явный модуль форматирования для контроля изменений в ISO 8601:DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSSSSxxx"); dateTimeWithTimeZone = OffsetDateTime.now(ZoneOffset.UTC).format(iso8601Formatter); System.out.println(dateTimeWithTimeZone);
2019-03-18T22: 28: 13.729711 + 00: 00
blockquote>Что что-то пошло не так в вашем коде?
Вы пытались использовать символы форматирования из вашего источника с
SimpleDateFormat
. Во-первых, вы никогда не должны, и особенно в Java 8 или новее, хотеть использоватьSimpleDateFormat
. Этот класс, как известно, хлопотно и давно устарел. Во-вторых, некоторые из его букв шаблонного формата соответствуют символам из вашего источника, а некоторые - нет, поэтому вы не можете просто использовать строку symvol оттуда. Вместо этого вам нужно прочитать документацию и найти правильные буквы шаблонов формата для использования в качестве года, месяца и т. Д. И помните, что они чувствительны к регистру:MM
иmm
различаются.Ссылка
Учебное пособие по Oracle: Дата и время , объясняющее, как использовать java.time.
APC — стандартный выбор, включенный в PECL, происходит предварительно упакованный в большинство дистрибутивов Linux, чтобы быть связанным в по умолчанию в PHP6. В качестве награды это может служить кэшем данных (что-то как локальная кэш-память).
eAccelerator был популярен, в течение некоторого времени это был самый быстрый кэш байт-кода. Но различия в скорости недостаточно для выравнивания по ширине предпочитания его по APC.
Turck MMcache — мертвый. eAccelerator был разветвлен от него.
ionCube — мертвый.
APC является в значительной степени стандартным выбором. Планируется быть включенным в ядро PHP 6. В отличие от большинства других кандидатов, это стабильно, и это свободно.
Вот сравнение трех из них, APC, Пехлеви и XCache:
http://blog.digitalstruct.com/2007/12/23/php-accelerators-apc-vs-zend-vs-xcache-with-zend-framework/
APC легко установить, работы из поля и может использоваться и в качестве кэша кода операции и в качестве кэша данных. Легкий выбор, по-моему.