douchun1900 2016-09-09 03:24
浏览 31
已采纳

PHP新DateTime vs date()

I'm trying to write a basic log file for a script I am running and I want to insert the current date/time at the beginning of the log before the actual logging.

My code is the following:

$con = connectToDatabase();
$now = new DateTime;
$filePath = 'wipe-log.log';
$file = fopen($filePath, 'a+');

$log = "

" . $now->date . " ----------------- 


";

fwrite($file, $log);

The only part of this that doesn't work is the date and I get an output of:

(newline)
(newline)
(missing date)      -----------------

But, if I switch to using the date() function like so:

$log = "

" . date("F d Y H:i:s") . " ----------------- 


";

It works perfectly.

The other thing is that if I set some breakpoints in the code and step through this section of the code, it works perfectly. Makes me think that it isn't waiting for the instantiation of the DateTime object and so has nothing to print out.

I've had this issue with other things too and have just opted to find different ways around it but this is really bugging me now.

  • 写回答

1条回答 默认 最新

  • douzhang1926 2016-09-09 03:30
    关注

    You need to use the format method to print the date from a DateTime object.

    $con = connectToDatabase();
    $now = new DateTime;
    $filePath = 'wipe-log.log';
    $file = fopen($filePath, 'a+');
    
    $log = "
    
    " . $now->format("F d Y H:i:s"). " ----------------- 
    
    
    ";
    
    fwrite($file, $log);
    

    The time and date formats are the same you use in date functions.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 基于52单片机的酒精浓度检测系统加继电器和sim800
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答