<?php
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '".mysql_real_escape_string($username)."'")or die(mysql_error());
while($row=mysql_fetch_array($result))
{
echo $row['FirstName'];
}
?>
Это просто поведение консоли отладки. Два значения даты, которые вы указали, одинаковы и являются правильными значениями. Вы просто видите местное время в Chrome, в то время как Firefox предпочитает показывать время UTC в консоли отладки.
Более точно, Chrome, IE и большинство других браузеров просто вызывают .toString()
на объекте , в то время как Firefox вызывает .toISOString()
.
Обратите внимание, что Firefox имеет ошибку, показывающую неправильное имя часового пояса (вместо стандартного вместо Daylight), но вы можете увидеть, что значение отладчика соответствует значению UTC ISO8601.
ЕСЛИ вы не хотите, чтобы смещение временной зоны было включено, вы можете использовать Date.UTC
Примечание: если Date вызывается как конструктор с несколькими аргументами, указанные аргументы представляют местное время. Если требуется UTC, используйте новую дату (Date.UTC (...)) с теми же аргументами.
blockquote>~ MDN
Выход из Firefox dev console:
> new Date(2015,9,1) Date 2015-09-30T22:00:00.000Z // reproduces your problem, my local time is GMT+0200 > new Date(Date.UTC(2015,9,1)) Date 2015-10-01T00:00:00.000Z // UTC time
Однако
00:00:00 GMT+0200
и22:00:00.000Z
- это просто разные способы представления смещения часового пояса в строчном представлении даты. Разница заключается в методе, используемом при печати на консоль: большинство браузеров используют.toString()
, а Firefox использует.toISOString()
. (Отредактировано: ранее было указано, что реализации методаtoString
отличаются друг от друга, что неверно).В методах Chrome (
Thu Oct 01 2015 00:00:00 GMT+0200
) и Firefox (Date 2015-09-30T22:00:00.000Z
), таких как.getDate()
и.getMonth()
возвращают одинаковые значения (1
и9
соответственно). ОбъектыDate
одинаковы.