Как форматировать сокращение времени в объекте даты javascript
в то время как new Date()
объект new Date()
в javascript, он выводит результат как
Thu Oct 30 2014 00:00:00 GMT+0530 (India Standard Time)
в окнах и
Thu Oct 30 2014 00:00:00 GMT+0530 (IST)
в Linux...
Мне нужен выход в (IST), поэтому я могу преобразовать дату с помощью strtotime()
Вам действительно не нужно это преобразование. Просто использование суффикса (India Standard Time)
или отсутствие суффикса вообще будет работать нормально. Например:
echo(strtotime("Thu Oct 30 2014 00:00:00 GMT+0530 (IST)") . " / " .
strtotime("Thu Oct 30 2014 00:00:00 GMT+0530") . " / " .
strtotime("Thu Oct 30 2014 00:00:00 GMT+0530 (India Standard Time)"));
Возвращает
1414627200 / 1414627200 / 1414627200
Демо.
Поэтому мой ответ на ваш вопрос заключается в том, что я не думаю, что можно получить официальную аббревиатуру часового пояса, но мое решение вашей проблемы - просто использовать формат, который у вас уже есть (или если суффикс вызывает проблемы, когда он на другом языке, просто опустить суффикс).
Кроме того, вы можете сначала преобразовать часовой пояс в UTC, а затем передать это PHP:
//some other way to generate this Date object is of course fine too
var d = new Date(/*your date object*/);
//converts it from ms -> sec, to the format PHP uses
var unix = Math.floor(d.getTime() / 1000);
GMT+0530
уже должна обрабатывать часовой пояс.
India Standard Time
» в «IST
» при выводе объектовDate
. Это другой вопрос и другое решение.