#java #php #date #simpledateformat
#java #php #Дата #simpledateformat
Вопрос:
Я работаю над потоковым приложением для Android, в котором мне нужно преобразовать некоторые коды php в java. Как я могу преобразовать этот формат даты из php в Java?
$today = gmdate("n/j/Y g:i:s A");
Ответ №1:
Этот формат даты в php интерпретируется следующим образом:
n: числовое представление месяца без начальных нулей
j: день месяца без начальных нулей
Y: полное числовое представление года, 4 цифры
g: 12-часовой формат часа без начальных нулей
i: Минуты с начальными нулями
s: секунды с начальными нулями
A: прописные буквы до меридиема и после меридиема — AM / PM
и тот же формат даты в Java выглядит следующим образом:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("M/d/yyyy h:mm:ss a");
String today = simpleDateFormat.format(new Date());
Комментарии:
1. Впечатляет, как вам удалось найти решение вашего собственного вопроса менее чем за минуту! 🙂
2. Смысл этого вопроса заключался в том, чтобы поделиться новыми знаниями, которых я достиг. Я только вчера решил свою проблему. Кстати, спасибо за ваш ответ @walen
Ответ №2:
Чтобы получить новый 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 в Date
объект Java, который был исходным вопросом.
Комментарии:
1. Я думаю, вы меня неправильно поняли! Я хочу получить тот же результат в java , что и php , используя эту команду gmdate(«n / j / Y g: i: s A»)