Это не так просто, как strtotime()
...PHP IMAP получить дату от электронной почты во время эпохи
Я возвращаю даты письма с PHP IMAP. Когда я вернусь дата, я получаю это форматирование:
21 May 2015 20:48:36 -0400
Fri, 15 May 2015 00:13:12 +0000
Fri, 7 Aug 2015 07:11:42 -0400 (EDT)
Fri, 4 Sep 2015 11:03:15 -0400
Mon, 10 Aug 2015 22:04:10 +0000
Tue, 14 Jul 2015 12:54:47 -0400
Sun, 21 Jun 2015 10:49:06 +0000
Fri, 12 Jun 2015 17:35:26 +0000
Thu, 27 Aug 2015 11:47:55 -0400
Mon, 20 Jul 2015 12:43:45 -0400
Fri, 18 Sep 2015 07:47:04 -0400 (EDT)
etc.
Как вы можете видеть, даты не совсем последовательны. В одной из дат нет имени дня (Пт). Некоторые из этих дат имеют тег (EDT)
, а остальные нет.
Я пробовал использовать strtotime($date)
, но я считаю, что, поскольку в некоторых из них есть часовой пояс, он ворует дату.
Есть ли способ конвертировать эти очень странные времена в эпоху?
Из документов * "Каждый параметр этой функции используется часовой пояс по умолчанию, если часовой пояс не указан в этом параметре Будьте осторожны не использовать разные временные зоны в каждом параметре, если это не предназначено. См. date_default_timezone_get() по различным способам определения часового пояса по умолчанию. "* –