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

时间:2012-02-26 21:46:25

标签: php sql-server casting binary timestamp

我正在尝试从专有的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!

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

相关问题