Аналог strtotime в Java
На работе пишем новый проект, который перевернёт мир рекламы. Проект пишем на Java. Почему на Java? Хуй его знает. Без меня решили. Пишем, так пишем. Значит надо учить Java. Язык хороший, мощный. Немного смущает строгая типизация и линейное мышление, привитое php.
А ещё иногда очень не хватает простых функций вроде strtotime.
Для форматирования даты в нужный формат в php требуется 2 функции: strtotime и date.
date('Y-m-d', strtotime('дата в любом формате'));
В Java всё немного иначе.
// Создаём объект SimpleDateFormat для даты из которой будем форматировать. Дата должна быть указанного формата.
SimpleDateFormat dateSourceObject = new SimpleDateFormat("dd.MM.yyyy");
// Создаём объект SimpleDateFormat для даты в которую будем форматировать.
SimpleDateFormat dateResultObject = new SimpleDateFormat("yyyy-MM-dd");
// Форматируем дату
dateResultObject.format(dateSourceObject.parse('дата в формате dd.MM.yyyy'));
Плюсы в Java:
- Строгая типизация
- ООП
- Java это круто
Плюсы в php: просто и быстро
Для преверженцев ООП есть вариант и в php:
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
Правда здесь необходимо указать формат даты, из которой будем форматировать.
Да в PHP надо указывать формат, но мне приходилось работать с такими трансформациями дат и если хорошо посмотреть, то сразу становится ясно что много мороки с такими конвертациями не будет, так как даты мы получаем либо с БД или же очень редко, но от клиентов. Но все равно — в обеих случаях мы четко знаем, какой тип даты к нам поступил.