Отметка времени AS3 неверна

Я пытаюсь получить текущую временную метку unix в AS3 через:

var date:Date = new Date();
var unix:int = date.time;

trace(unix);

Я почему-то получаю:

2775219874

Но когда я использую time() в PHP примерно в то же время, я получаю:

1321330282

Я не понимаю?

Я мог бы, конечно, запросить метку времени из PHP через URLLoader, но я бы предпочел, чтобы он работал правильно, если это возможно, без необходимости.


person Marty    schedule 15.11.2011    source источник


Ответы (2)


Проблема в моем вопросе была вызвана назначением date.time на int вместо Number.

См. ниже демонстрацию присвоения date.time переменной:

var date:Date = new Date();

var uintVal:uint = date.time;
var intVal:int = date.time;
var numVal:Number = date.time;

trace(uintVal);     // 2776669556
trace(intVal);      // -1518297740
trace(numVal);      // 1321331629428
person Marty    schedule 15.11.2011
comment
@Chris Я не могу еще два дня :( - person Marty; 15.11.2011
comment
ах да, простите забыл! - person Chris; 15.11.2011
comment
Итак, какой из них мы должны использовать для сопоставления с php time()? - person Papa De Beau; 03.02.2014
comment
@ПапаДеБо Number. - person Marty; 03.02.2014

Flash должен возвращать количество миллисекунд, поэтому вы должны получить что-то вроде 1321330797782 (это то, что я получаю здесь). Время вашего компьютера правильное? Если это так, просто попробуйте закрыть и снова открыть Flash, потому что что-то действительно не так со временем, которое вы получаете (это где-то в 1970 году).

Время PHP правильное.

person laurent    schedule 15.11.2011
comment
Я полагал, что это будет связано с моим временем, однако мое время кажется хорошим в 15th November 2011 3:24PM. - person Marty; 15.11.2011