我正在尝试为正在运行的脚本编写基本日志文件,并且我希望在实际日志记录之前在日志的开头插入当前日期/时间.
我的代码如下:
$con = connectToDatabase();
$now = new DateTime;
$filePath = 'wipe-log.log';
$file = fopen($filePath, 'a+');
$log = "\n\n" . $now->date . " ----------------- \n\n\n";
fwrite($file, $log);
Run Code Online (Sandbox Code Playgroud)
这个不起作用的唯一部分是日期,我得到一个输出:
(newline)
(newline)
(missing date) -----------------
Run Code Online (Sandbox Code Playgroud)
但是,如果我切换到使用这样的date()功能:
$log = "\n\n" . date("F d Y H:i:s") . " ----------------- \n\n\n";
Run Code Online (Sandbox Code Playgroud)
它完美地运作.
另一件事是,如果我在代码中设置一些断点并逐步执行代码的这一部分,它就可以完美地运行.让我觉得它不是在等待DateTime对象的实例化,所以没有什么可以打印出来的.
我也遇到过这个问题,并且只是选择了找到不同的方法,但现在这真的让我烦恼.
您需要使用该format方法从DateTime对象打印日期.
$con = connectToDatabase();
$now = new DateTime;
$filePath = 'wipe-log.log';
$file = fopen($filePath, 'a+');
$log = "\n\n" . $now->format("F d Y H:i:s"). " ----------------- \n\n\n";
fwrite($file, $log);
Run Code Online (Sandbox Code Playgroud)
的时间和日期格式是你在日期函数使用相同.
| 归档时间: |
|
| 查看次数: |
2790 次 |
| 最近记录: |