我使用Windows索引搜索和PHP一起在数千个文件中搜索。
我使用PHP类实现了它的工作:
$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$recordset = new COM("ADODB.Recordset");
$conn - > Open("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';");
$recordset - > Open("SELECT System.ItemName, System.DateModified FROM SYSTEMINDEX WHERE DIRECTORY='file:C:/xxxx/' AND CONTAINS('xxxx')", $conn);
$recordset - > MoveFirst();
while (!$recordset - > EOF) {
echo $recordset - > Fields - > Item("System.ItemName") - > Value."\n";
$recordset - > MoveNext();
}我正在检索每个元素的DateModified字段,并且我已经意识到它的格式取决于系统配置。可以通过Windows中的控制面板设置它。
我想知道是否有任何方法将它以所需的格式获得,以避免在我想运行脚本的每个系统中使用控制面板来更改它。
我注意到对象有属性formatAs,但我不知道如何更改它,文档也不太完整。
谢谢。
发布于 2014-02-18 17:00:57
您可以将VT_DATE对象转换为时间戳的UNIX时间戳,然后用日期格式化它,无论控制面板中的日期格式如何,这都应该有效。
$format = "Y-m-d";
$object = $recordset->Fields->Item("System.DateModified")->Value;
$timestamp = variant_date_to_timestamp($object);
echo date($format, $timestamp) . "\n";https://stackoverflow.com/questions/21835330
复制相似问题