Unix Zaman Damgası ve JavaScript Zaman;

3 Cevap php

JQuery için flot grafik kitaplığı kullanıyorum ve herhangi bir zaman serisi için javascript zaman kullanır (hatırlatmak için, o milisaniye bulunuyor Ocak 1970 yılından bu yana. Unix zaman seconds).

Benim şu anki kod şöyle görünür:

foreach($decoded['results'] as $currentResult) {
	     if($currentResult['from_user'] == $user) {
	         $strippedTexts = $currentResult['created_at'];
	         $dates []= strtotime($strippedTexts);
	     }
	}

Bu bana Unix zaman damgaları bir dizi verir. Ben döngüde JavaScript verileri hazırlık istiyor, ama ben çalıştığınızda

$dates []= 1000*strtotime($strippedTexts);

sayı çok büyük olduğunu ve "[-2147483648]" tükürür. Ben bignum Dizinin falan yapılacak izin değişkenin "tipini" değiştirmek gerekir mi?

Teşekkürler!

3 Cevap

Sen bunları kullanılabilir varsa BCMath Arbitrary Precision functions kullanarak deneyebilirsiniz:

$dates[] = bcmul("1000", strtotime($strippedTexts));

Ya da sadece, bilirsin, ucunda üç sıfır ekleyin.

$dates[] = strtotime($strippedTexts).'000';

Her iki durumda da, bir dize olarak depolanan değeri ile bitireceğiz, ama bu kullanım için önemli olmamalı.

Bu deneyin:

$dates []= 1000.0*strtotime($strippedTexts);

Yani php int daha büyük bir sayı saklayabileceğiniz, şamandıra haline dönecek.

Hiçbir sorun yoktur çünkü çözüm gereklidir: JavaScript çarpma yapmak var.