bolk (bolk) wrote,
bolk
bolk

Злой ПХП

Недавно у кого-то в комментариях поучаствовал в мини-дискуссии о том чем плох ПХП. Лично я его считаю плохим языком. А сегодня на работе нашлось лишнее подтверждение моей позиции:

var_dump(DateTime::createFromFormat("d.m.Y", "01.01.1970"));
/*
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "1970-01-01 18:43:06.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}*/

Совершенно неинтуитивно, что в разобранную дату в данном случае подставится текущее время. У меня даже нет идей для чего это могло бы пригодиться. А чтобы текущее время не подставлялось, нужно использовать символ «восклицательный знак» или «вертикальная черта»:

var_dump(DateTime::createFromFormat("!d.m.Y", "01.01.1970"));
/*
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "1970-01-01 00:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}*/


Ссылка на оригинал.
Subscribe

  • Ортопедические стельки

    В своих поисках того как можно облегчить состояние травмированной когда-то на спортивной гимнастике спине, забрёл к ортопеду. Я подозревал, что…

  • Монета Михаила Фёдоровича

    Давно хотел в свою коллекцию какую-нибудь допетровскую монету и вот, — заполучил, наконец, копейку Михаила Фёдоровича, первого русского царя из…

  • Темп речи

    Сейчас многие компании переходят на удалённый или гибридный режим работы. Наша компания не исключение. Хотя я до сих пор искренне считаю, что…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments