3v4l.org

run code in 300+ PHP versions simultaneously
<?php $now = new DateTime(); $ts = (int)$now->format('U'); $midnight = $ts - $ts % 86400; $md = DateTime::createFromFormat('U', $midnight); var_dump($now, $ts, $midnight, $md); echo "\n\n"; $now_utc = (clone $now)->setTimezone(new DateTimeZone('UTC')); $new_midnight = (clone $now_utc)->modify('midnight'); $nmt = $new_midnight->format('U'); var_dump($now_utc, $new_midnight, $nmt);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/v4kSU
function name:  (null)
number of ops:  46
compiled vars:  !0 = $now, !1 = $ts, !2 = $midnight, !3 = $md, !4 = $now_utc, !5 = $new_midnight, !6 = $nmt
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   NEW                                              $7      'DateTime'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $7
    4     3        INIT_METHOD_CALL                                         !0, 'format'
          4        SEND_VAL_EX                                              'U'
          5        DO_FCALL                                      0  $10     
          6        CAST                                          4  ~11     $10
          7        ASSIGN                                                   !1, ~11
    5     8        MOD                                              ~13     !1, 86400
          9        SUB                                              ~14     !1, ~13
         10        ASSIGN                                                   !2, ~14
    6    11        INIT_STATIC_METHOD_CALL                                  'DateTime', 'createFromFormat'
         12        SEND_VAL                                                 'U'
         13        SEND_VAR                                                 !2
         14        DO_FCALL                                      0  $16     
         15        ASSIGN                                                   !3, $16
    8    16        INIT_FCALL                                               'var_dump'
         17        SEND_VAR                                                 !0
         18        SEND_VAR                                                 !1
         19        SEND_VAR                                                 !2
         20        SEND_VAR                                                 !3
         21        DO_ICALL                                                 
    9    22        ECHO                                                     '%0A%0A'
   11    23        CLONE                                            ~19     !0
         24        INIT_METHOD_CALL                                         ~19, 'setTimezone'
         25        NEW                                              $20     'DateTimeZone'
         26        SEND_VAL_EX                                              'UTC'
         27        DO_FCALL                                      0          
         28        SEND_VAR_NO_REF_EX                                       $20
         29        DO_FCALL                                      0  $22     
         30        ASSIGN                                                   !4, $22
   12    31        CLONE                                            ~24     !4
         32        INIT_METHOD_CALL                                         ~24, 'modify'
         33        SEND_VAL_EX                                              'midnight'
         34        DO_FCALL                                      0  $25     
         35        ASSIGN                                                   !5, $25
   13    36        INIT_METHOD_CALL                                         !5, 'format'
         37        SEND_VAL_EX                                              'U'
         38        DO_FCALL                                      0  $27     
         39        ASSIGN                                                   !6, $27
   14    40        INIT_FCALL                                               'var_dump'
         41        SEND_VAR                                                 !4
         42        SEND_VAR                                                 !5
         43        SEND_VAR                                                 !6
         44        DO_ICALL                                                 
         45      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.49 ms | 1400 KiB | 15 Q