3v4l.org

run code in 300+ PHP versions simultaneously
<?php $date = '2015-01-01T00:00:00.000Z'; echo "================================================================\n Trying to set a DateTimeZone using a date with a timezone\n DATE: {$date}\n ================================================================\n"; echo "DateTimeZone will be ignored because date has a timezone 'Z'\n"; $dateTime = new DateTime($date, new DateTimeZone('America/Mexico_City')); echo $dateTime->format('c'). "\n\n"; echo "DateTimeZone will be ignored, date timezone is in UTC anyway!\n"; $dateTime = new DateTime($date, new DateTimeZone('UTC')); echo $dateTime->format('c'). "\n\n"; $date = '2015-01-01T00:00:00.000'; echo "================================================================\n Trying to set a DateTimeZone using a date with NO timezone\n DATE: {$date}\n ================================================================\n"; echo "Timezone will be set to the given DateTimeZone America/Mexico_City\n"; $dateTime = new DateTime($date, new DateTimeZone('America/Mexico_City')); echo $dateTime->format('c'). "\n\n"; echo "Timezone will be set to the given DateTimeZone UTC\n"; $dateTime = new DateTime($date, new DateTimeZone('UTC')); echo $dateTime->format('c'). "\n\n"; $date = '2015-01-01T00:00:00.000 America/Mexico_City'; echo "================================================================\n Trying to set a timezone directly in the date\n DATE: {$date}\n ================================================================\n"; echo "DATE: {$date}\n\n"; echo "Timezone will set to the given timezone set in the date string America/Mexico_City\n"; $dateTime = new DateTime($date); echo $dateTime->format('c'). "\n\n"; $date = '2015-01-01T00:00:00.000'; echo "================================================================\n DateTimeZone: setting it in construct vs setTimezone method\n DATE: {$date}\n ================================================================\n"; echo "Set timezone using construct:\n"; $dateTime = new DateTime($date, new DateTimeZone('America/Mexico_City')); echo $dateTime->format('c'). "\n\n"; echo "Set timezone using method:\n"; $dateTime = new DateTime($date); $dateTime->setTimezone(new DateTimeZone('America/Mexico_City')); echo $dateTime->format('c'). "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Fnpk9
function name:  (null)
number of ops:  121
compiled vars:  !0 = $date, !1 = $dateTime
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '2015-01-01T00%3A00%3A00.000Z'
    5     1        ROPE_INIT                                     3  ~4      '%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0ATrying+to+set+a+DateTimeZone+using+a+date+with+a+timezone%0A+%0ADATE%3A+'
    7     2        ROPE_ADD                                      1  ~4      ~4, !0
          3        ROPE_END                                      2  ~3      ~4, '%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A'
          4        ECHO                                                     ~3
    9     5        ECHO                                                     'DateTimeZone+will+be+ignored+because+date+has+a+timezone+%27Z%27%0A'
   10     6        NEW                                              $6      'DateTime'
          7        SEND_VAR_EX                                              !0
          8        NEW                                              $7      'DateTimeZone'
          9        SEND_VAL_EX                                              'America%2FMexico_City'
         10        DO_FCALL                                      0          
         11        SEND_VAR_NO_REF_EX                                       $7
         12        DO_FCALL                                      0          
         13        ASSIGN                                                   !1, $6
   11    14        INIT_METHOD_CALL                                         !1, 'format'
         15        SEND_VAL_EX                                              'c'
         16        DO_FCALL                                      0  $11     
         17        CONCAT                                           ~12     $11, '%0A%0A'
         18        ECHO                                                     ~12
   12    19        ECHO                                                     'DateTimeZone+will+be+ignored%2C+date+timezone+is+in+UTC+anyway%21%0A'
   13    20        NEW                                              $13     'DateTime'
         21        SEND_VAR_EX                                              !0
         22        NEW                                              $14     'DateTimeZone'
         23        SEND_VAL_EX                                              'UTC'
         24        DO_FCALL                                      0          
         25        SEND_VAR_NO_REF_EX                                       $14
         26        DO_FCALL                                      0          
         27        ASSIGN                                                   !1, $13
   14    28        INIT_METHOD_CALL                                         !1, 'format'
         29        SEND_VAL_EX                                              'c'
         30        DO_FCALL                                      0  $18     
         31        CONCAT                                           ~19     $18, '%0A%0A'
         32        ECHO                                                     ~19
   16    33        ASSIGN                                                   !0, '2015-01-01T00%3A00%3A00.000'
   18    34        ROPE_INIT                                     3  ~22     '%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0ATrying+to+set+a+DateTimeZone+using+a+date+with+NO+timezone%0A+%0ADATE%3A+'
   20    35        ROPE_ADD                                      1  ~22     ~22, !0
         36        ROPE_END                                      2  ~21     ~22, '%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A'
         37        ECHO                                                     ~21
   22    38        ECHO                                                     'Timezone+will+be+set+to+the+given+DateTimeZone+America%2FMexico_City%0A'
   23    39        NEW                                              $24     'DateTime'
         40        SEND_VAR_EX                                              !0
         41        NEW                                              $25     'DateTimeZone'
         42        SEND_VAL_EX                                              'America%2FMexico_City'
         43        DO_FCALL                                      0          
         44        SEND_VAR_NO_REF_EX                                       $25
         45        DO_FCALL                                      0          
         46        ASSIGN                                                   !1, $24
   24    47        INIT_METHOD_CALL                                         !1, 'format'
         48        SEND_VAL_EX                                              'c'
         49        DO_FCALL                                      0  $29     
         50        CONCAT                                           ~30     $29, '%0A%0A'
         51        ECHO                                                     ~30
   25    52        ECHO                                                     'Timezone+will+be+set+to+the+given+DateTimeZone+UTC%0A'
   26    53        NEW                                              $31     'DateTime'
         54        SEND_VAR_EX                                              !0
         55        NEW                                              $32     'DateTimeZone'
         56        SEND_VAL_EX                                              'UTC'
         57        DO_FCALL                                      0          
         58        SEND_VAR_NO_REF_EX                                       $32
         59        DO_FCALL                                      0          
         60        ASSIGN                                                   !1, $31
   27    61        INIT_METHOD_CALL                                         !1, 'format'
         62        SEND_VAL_EX                                              'c'
         63        DO_FCALL                                      0  $36     
         64        CONCAT                                           ~37     $36, '%0A%0A'
         65        ECHO                                                     ~37
   30    66        ASSIGN                                                   !0, '2015-01-01T00%3A00%3A00.000+America%2FMexico_City'
   32    67        ROPE_INIT                                     3  ~40     '%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0ATrying+to+set+a+timezone+directly+in+the+date%0A+%0ADATE%3A+'
   34    68        ROPE_ADD                                      1  ~40     ~40, !0
         69        ROPE_END                                      2  ~39     ~40, '%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A'
         70        ECHO                                                     ~39
   36    71        ROPE_INIT                                     3  ~43     'DATE%3A+'
         72        ROPE_ADD                                      1  ~43     ~43, !0
         73        ROPE_END                                      2  ~42     ~43, '%0A%0A'
         74        ECHO                                                     ~42
   37    75        ECHO                                                     'Timezone+will+set+to+the+given+timezone+set+in+the+date+string+America%2FMexico_City%0A'
   38    76        NEW                                              $45     'DateTime'
         77        SEND_VAR_EX                                              !0
         78        DO_FCALL                                      0          
         79        ASSIGN                                                   !1, $45
   39    80        INIT_METHOD_CALL                                         !1, 'format'
         81        SEND_VAL_EX                                              'c'
         82        DO_FCALL                                      0  $48     
         83        CONCAT                                           ~49     $48, '%0A%0A'
         84        ECHO                                                     ~49
   42    85        ASSIGN                                                   !0, '2015-01-01T00%3A00%3A00.000'
   44    86        ROPE_INIT                                     3  ~52     '%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0ADateTimeZone%3A+setting+it+in+construct+vs+setTimezone+method%0A+%0ADATE%3A+'
   46    87        ROPE_ADD                                      1  ~52     ~52, !0
         88        ROPE_END                                      2  ~51     ~52, '%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A'
         89        ECHO                                                     ~51
   48    90        ECHO                                                     'Set+timezone+using+construct%3A%0A'
   49    91        NEW                                              $54     'DateTime'
         92        SEND_VAR_EX                                              !0
         93        NEW                                              $55     'DateTimeZone'
         94        SEND_VAL_EX                                              'America%2FMexico_City'
         95        DO_FCALL                                      0          
         96        SEND_VAR_NO_REF_EX                                       $55
         97        DO_FCALL                                      0          
         98        ASSIGN                                                   !1, $54
   50    99        INIT_METHOD_CALL                                         !1, 'format'
        100        SEND_VAL_EX                                              'c'
        101        DO_FCALL                                      0  $59     
        102        CONCAT                                           ~60     $59, '%0A%0A'
        103        ECHO                                                     ~60
   51   104        ECHO                                                     'Set+timezone+using+method%3A%0A'
   52   105        NEW                                              $61     'DateTime'
        106        SEND_VAR_EX                                              !0
        107        DO_FCALL                                      0          
        108        ASSIGN                                                   !1, $61
   53   109        INIT_METHOD_CALL                                         !1, 'setTimezone'
        110        NEW                                              $64     'DateTimeZone'
        111        SEND_VAL_EX                                              'America%2FMexico_City'
        112        DO_FCALL                                      0          
        113        SEND_VAR_NO_REF_EX                                       $64
        114        DO_FCALL                                      0          
   54   115        INIT_METHOD_CALL                                         !1, 'format'
        116        SEND_VAL_EX                                              'c'
        117        DO_FCALL                                      0  $67     
        118        CONCAT                                           ~68     $67, '%0A'
        119        ECHO                                                     ~68
        120      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
148.63 ms | 1407 KiB | 13 Q