• js время в секундах UNIXTIME

    Когда вы имеете дело со временем в JavaScript, иногда хочется представить его в виде секундного хеша, как в php. Там количество секунд прошедших с 1 января 1970 года(UnixTime) возвращает функция time(). Возвращает она обычный int. Благодаря этому с этой величиной очень удобно работать: сортировать, сравнивать и т.д.

    В javaScript иногда тоже нужен такой же функционал. К примеру раскидывать данные в массив, а потом сортировать его по времени. unixtime в js возвращает метод getTime объекта Date, но в отличии от php, он возвращает еще и миллисекунды.

    Поэтому все надо разделить на 1000.

    function time(){
    return parseInt(new Date().getTime()/1000)
    }
    alert(time())//1300051970

    Вот и все, авось кому пригодится

  • strtotime в нужном формате

    В php есть замечательная функция работы со временем strtotime. Она преобразует строковое представление даты в UNIXTIME формат(количество секунд, прошедшее с 1-го января 1970-го года). Удобна она прежде всего тем, что в нее можно подавать данные, введенные пользователем в форме, к примеру, дату рождения. На выходе мы получим удобный unixtime, с помощью которого можно проводить различные валидные сортировки по дате.

    Приведу пример:

    echo strtotime('8-12-1986'); // вернет 534366000

    что эквивалентно

    echo mktime(0,0,0,12,8,1986);

    Но что если ваш пользователь пришлет на вход функции такой формат '8 12 1986'. В этом случае 

    echo strtotime('8 12 1986'); // вернет false

    Функции просто не понятно, что здесь день, что здесь месяц, а что год. Как решить данную проблему? Как показать php формат введенной даты?