Я работаю над потоковым Android-приложением, которое мне нужно преобразовать в php-коды в java.
Как я могу преобразовать этот формат даты из php в java?
$today = gmdate("n/j/Y g:i:s A");
это формат даты в php интерпретируется так:
п: Числовое представление месяца без начальных нулей
J: День месяца без начальных нулей
Y: Полное числовое представление года, 4 цифры
г: 12-часовой формат часа без ведущих нулей
я: Минуты с ведущими нулями
s: Секунды с ведущими нулями
A: Прописные Анте Меридием и Пост Меридием — AM / PM
и то же самое формат даты в Java это так:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("M/d/yyyy h:mm:ss a");
String today = simpleDateFormat.format(new Date());
Чтобы получить новый java.util.Date
объект из вашей строки даты PHP, в Java:
String phpDateString = "7/24/2016 12:21:44 am";
SimpleDateFormat sdf = new SimpleDateFormat("M/d/yyyy h:mm:ss a");
Date javaDate = sdf.parse(phpDateString);
System.out.println(javaDate);
System.out.println(sdf.format(javaDate));
Выход:
Sun Jul 24 00:21:44 CEST 2016
7/24/2016 12:21:44 AM
Ответ OP был очень информативным, но в выражении Java содержалась ошибка (это строчные буквы h
для часов am / pm) и не включал код для фактического разбора строки PHP в Java Date
объект, который был оригинальным вопросом.