将时间戳从二进制转换为十六进制


Converting timestamp from binary to hex

我正试图从专有的ERP数据库创建一个报告。我已经建立了一个ODBC连接,并使用PHP从数据库中提取数据。

如果我使用Microsoft SQL Server Management Studio,我可以看到一行有一个TimeStamp字段(字符串类型),其值为0x00000000093E7FCA,显然对应于2011-02-04。(这个表中的所有字段都是字符串类型。不知道为什么。看起来很懒。)

如果我对返回的ODBC对象进行var_dump,我会得到:

public 'TimeStamp' => string '����  >Â' (length=8)

如何使用PHP将此字符串值转换为十六进制等效值(在本例中为0x00000000093E7FCA)?

我试过:

$row->TimeStamp + 0; // '0' ...nope.
(binary)$row->TimeStamp; // '����   >Â' ...close!
(int)((binary)$row->TimeStamp); // '0' ...doh!

我会尝试bin2hex($row->TimeStamp)

文档:http://us3.php.net/manual/en/function.bin2hex.php

您可以试试这个:bin2hex。将二进制数据转换为十六进制的php实现。