Конвертировать формат даты из php в Java?

#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»)