3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Date From-To display class Far from complete, and old. Newer to github, but have been using it for a while. Refactor and redo. */ class Date_from_to { function __construct() { # code... } /** * date_range * * Can return displayed string of the date, or array * * * @param string $start_date * @param string $end_date * @param string $return_array * @return string || array * @notes I want to adjust and change the way this works later since it isn't working as wanted. * rough code is placed for quick production. */ function date_range( $start_date = "", $end_date = "", $return_array = false) { $args = func_get_args(); /* Just in case want to send an array of settings. */ if(is_array($start_date)) { $start_date = $args[0]['start']; $end_date = $args[0]['end']; $display_format = $args[0]['format']; $return_array = $args[0]['array']; } unset($args); if(empty($end_date) || strtotime($start_date) >= strtotime($end_date)) $end_date = $start_date; $obj = new stdClass(); /// Original timestamps $obj->timestamp = new stdClass(); $obj->timestamp->current = strtotime(date('Y-m-d H:i:s')); $obj->timestamp->start = strtotime($start_date); $obj->timestamp->end = strtotime($end_date); /// Array Time for use in differences $obj->ts->current = explode(" ", date('Y m d H i s A'), time()); $obj->ts->start = explode(" ", date('Y m d H i s A', $obj->timestamp->start)); $obj->ts->end = explode(" ", date('Y m d H i s A', $obj->timestamp->end)); /// Current Date $obj->ts_current = new stdClass(); $obj->ts_current->year = $obj->ts->current[0]; $obj->ts_current->month = $obj->ts->current[1]; $obj->ts_current->day = $obj->ts->current[2]; $obj->ts_current->time = $obj->ts->current[3] . ":".$obj->ts->start[4]; $obj->ts_current->ampm = $obj->ts->current[6]; /// Start date $obj->ts_start = new stdClass(); $obj->ts_start->year = $obj->ts->start[0]; $obj->ts_start->month = $obj->ts->start[1]; $obj->ts_start->day = $obj->ts->start[2]; $obj->ts_start->time = $obj->ts->start[3] . ":".$obj->ts->start[4]; $obj->ts_start->ampm = $obj->ts->start[6]; /// End date $obj->ts_end = new stdClass(); $obj->ts_end->year = $obj->ts->end[0]; $obj->ts_end->month = $obj->ts->end[1]; $obj->ts_end->day = $obj->ts->end[2]; $obj->ts_end->time = $obj->ts->end[3] . ":".$obj->ts->start[4]; $obj->ts_end->ampm = $obj->ts->end[6]; /// Differences $obj->dif = new stdClass(); $obj->dif->year = ($obj->ts_end->year > $obj->ts_start->year) || ($obj->ts_start->year > $obj->ts_current->year) ? true : false; $obj->dif->month = $obj->ts_end->month > $obj->ts_start->month ? true : false; $obj->dif->day = $obj->ts_end->day > $obj->ts_start->day ? true : false; $obj->dif->time = $obj->ts_end->time > $obj->ts_start->time ? true : false; $obj->dif->ampm = $obj->ts_end->ampm > $obj->ts_start->ampm ? true : false; /// for Display $obj->display = new stdClass(); $obj->display->start = new stdClass(); $obj->display->start->year = date("Y", $obj->timestamp->start); $obj->display->start->month = date("F", $obj->timestamp->start); $obj->display->start->day = date("j", $obj->timestamp->start); $obj->display->start->time = date("g:i", $obj->timestamp->start); $obj->display->start->ampm = $obj->ts_start->ampm; $obj->display->end = new stdClass(); $obj->display->end->year = date("Y", $obj->timestamp->end); $obj->display->end->month = date("F", $obj->timestamp->end); $obj->display->end->day = date("j", $obj->timestamp->end); $obj->display->end->time = date("g:i", $obj->timestamp->end); $obj->display->end->ampm = $obj->ts_end->ampm; /// Start Display build /// By Default, always show the month/day/time it starts $obj->display->view = "{$obj->display->start->month} {$obj->display->start->day}"; /// $obj->display->view .= ", {$obj->display->start->year}"; /// $obj->display->view .= " {$obj->display->start->time} {$obj->display->start->ampm}"; /// Abstract $obj->display->abstract = new stdClass(); $obj->display->abstract->start = "{$obj->display->start->month} {$obj->display->start->day}"; if($obj->dif->year) $obj->display->abstract->start .= ", {$obj->display->start->year}"; $obj->display->abstract->start .= " {$obj->display->start->time} {$obj->display->start->ampm}"; /// Durational catch if( true === $obj->dif->year || true === $obj->dif->month || true === $obj->dif->day) { /* TODO: Adjust this code to display more logically rather then so directly. Add flexibility to years. - from-month from-day from year to* to-month to-day to-year - January 23, 2009 - February 1, 2009 - format options[] */ $obj->display->view .= " - "; $end_stamp = ""; if($obj->dif->month || $obj->dif->year) { if($obj->dif->year) $end_stamp .= " {$obj->display->end->month} {$obj->display->end->day}, "; else if($obj->dif->month) $end_stamp .= "{$obj->display->end->month} {$obj->display->end->day}, "; } else { $end_stamp .= "{$obj->display->end->day}, "; } /// $end_stamp .= " {$obj->display->end->time} {$obj->display->end->ampm}"; $end_stamp .= " ". $obj->display->end->year; $obj->display->abstract->end = $end_stamp; $obj->display->view .= $end_stamp; } else { /// Abstract catch if no duration set $obj->display->abstract->end = false; // no differences just add the current year. $obj->display->view .= ", ". $obj->display->start->year; } /// Return array if only the data is needed if(true === $return_array) return $obj; /// Return the html constructed view. return $obj->display->view; } } $myDate = new Date_from_to(); print $myDate->date_range('02-06-2014', '02-16-2014');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/3GW5I
function name:  (null)
number of ops:  9
compiled vars:  !0 = $myDate
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  179     0  E >   NEW                                              $1      'Date_from_to'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $1
  180     3        INIT_METHOD_CALL                                         !0, 'date_range'
          4        SEND_VAL_EX                                              '02-06-2014'
          5        SEND_VAL_EX                                              '02-16-2014'
          6        DO_FCALL                                      0  $4      
          7        ECHO                                                     $4
          8      > RETURN                                                   1

Class Date_from_to:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/3GW5I
function name:  __construct
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   15     0  E > > RETURN                                                   null

End of function __construct

Function date_range:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 19
Branch analysis from position: 7
2 jumps found. (Code = 47) Position 1 = 22, Position 2 = 30
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 32
Branch analysis from position: 31
2 jumps found. (Code = 47) Position 1 = 226, Position 2 = 232
Branch analysis from position: 226
2 jumps found. (Code = 43) Position 1 = 233, Position 2 = 235
Branch analysis from position: 233
1 jumps found. (Code = 42) Position 1 = 236
Branch analysis from position: 236
2 jumps found. (Code = 43) Position 1 = 245, Position 2 = 247
Branch analysis from position: 245
1 jumps found. (Code = 42) Position 1 = 248
Branch analysis from position: 248
2 jumps found. (Code = 43) Position 1 = 257, Position 2 = 259
Branch analysis from position: 257
1 jumps found. (Code = 42) Position 1 = 260
Branch analysis from position: 260
2 jumps found. (Code = 43) Position 1 = 269, Position 2 = 271
Branch analysis from position: 269
1 jumps found. (Code = 42) Position 1 = 272
Branch analysis from position: 272
2 jumps found. (Code = 43) Position 1 = 281, Position 2 = 283
Branch analysis from position: 281
1 jumps found. (Code = 42) Position 1 = 284
Branch analysis from position: 284
2 jumps found. (Code = 43) Position 1 = 426, Position 2 = 435
Branch analysis from position: 426
2 jumps found. (Code = 47) Position 1 = 453, Position 2 = 457
Branch analysis from position: 453
2 jumps found. (Code = 47) Position 1 = 458, Position 2 = 462
Branch analysis from position: 458
2 jumps found. (Code = 43) Position 1 = 463, Position 2 = 524
Branch analysis from position: 463
2 jumps found. (Code = 47) Position 1 = 470, Position 2 = 473
Branch analysis from position: 470
2 jumps found. (Code = 43) Position 1 = 474, Position 2 = 505
Branch analysis from position: 474
2 jumps found. (Code = 43) Position 1 = 477, Position 2 = 490
Branch analysis from position: 477
1 jumps found. (Code = 42) Position 1 = 504
Branch analysis from position: 504
1 jumps found. (Code = 42) Position 1 = 511
Branch analysis from position: 511
1 jumps found. (Code = 42) Position 1 = 535
Branch analysis from position: 535
2 jumps found. (Code = 43) Position 1 = 537, Position 2 = 538
Branch analysis from position: 537
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 538
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 490
2 jumps found. (Code = 43) Position 1 = 493, Position 2 = 504
Branch analysis from position: 493
1 jumps found. (Code = 42) Position 1 = 511
Branch analysis from position: 511
Branch analysis from position: 504
Branch analysis from position: 505
1 jumps found. (Code = 42) Position 1 = 535
Branch analysis from position: 535
Branch analysis from position: 473
Branch analysis from position: 524
2 jumps found. (Code = 43) Position 1 = 537, Position 2 = 538
Branch analysis from position: 537
Branch analysis from position: 538
Branch analysis from position: 462
Branch analysis from position: 457
Branch analysis from position: 435
Branch analysis from position: 283
2 jumps found. (Code = 43) Position 1 = 426, Position 2 = 435
Branch analysis from position: 426
Branch analysis from position: 435
Branch analysis from position: 271
2 jumps found. (Code = 43) Position 1 = 281, Position 2 = 283
Branch analysis from position: 281
Branch analysis from position: 283
Branch analysis from position: 259
2 jumps found. (Code = 43) Position 1 = 269, Position 2 = 271
Branch analysis from position: 269
Branch analysis from position: 271
Branch analysis from position: 247
2 jumps found. (Code = 43) Position 1 = 257, Position 2 = 259
Branch analysis from position: 257
Branch analysis from position: 259
Branch analysis from position: 235
2 jumps found. (Code = 43) Position 1 = 245, Position 2 = 247
Branch analysis from position: 245
Branch analysis from position: 247
Branch analysis from position: 232
Branch analysis from position: 32
Branch analysis from position: 30
Branch analysis from position: 19
filename:       /in/3GW5I
function name:  date_range
number of ops:  542
compiled vars:  !0 = $start_date, !1 = $end_date, !2 = $return_array, !3 = $args, !4 = $display_format, !5 = $obj, !6 = $end_stamp
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   31     0  E >   RECV_INIT                                        !0      ''
          1        RECV_INIT                                        !1      ''
          2        RECV_INIT                                        !2      <false>
   34     3        FUNC_GET_ARGS                                    ~7      
          4        ASSIGN                                                   !3, ~7
   39     5        TYPE_CHECK                                  128          !0
          6      > JMPZ                                                     ~9, ->19
   41     7    >   FETCH_DIM_R                                      ~10     !3, 0
          8        FETCH_DIM_R                                      ~11     ~10, 'start'
          9        ASSIGN                                                   !0, ~11
   42    10        FETCH_DIM_R                                      ~13     !3, 0
         11        FETCH_DIM_R                                      ~14     ~13, 'end'
         12        ASSIGN                                                   !1, ~14
   43    13        FETCH_DIM_R                                      ~16     !3, 0
         14        FETCH_DIM_R                                      ~17     ~16, 'format'
         15        ASSIGN                                                   !4, ~17
   44    16        FETCH_DIM_R                                      ~19     !3, 0
         17        FETCH_DIM_R                                      ~20     ~19, 'array'
         18        ASSIGN                                                   !2, ~20
   46    19    >   UNSET_CV                                                 !3
   49    20        ISSET_ISEMPTY_CV                                 ~22     !1
         21      > JMPNZ_EX                                         ~22     ~22, ->30
         22    >   INIT_FCALL                                               'strtotime'
         23        SEND_VAR                                                 !0
         24        DO_ICALL                                         $23     
         25        INIT_FCALL                                               'strtotime'
         26        SEND_VAR                                                 !1
         27        DO_ICALL                                         $24     
         28        IS_SMALLER_OR_EQUAL                              ~25     $24, $23
         29        BOOL                                             ~22     ~25
         30    > > JMPZ                                                     ~22, ->32
         31    >   ASSIGN                                                   !1, !0
   51    32    >   NEW                                              $27     'stdClass'
         33        DO_FCALL                                      0          
         34        ASSIGN                                                   !5, $27
   54    35        NEW                                              $31     'stdClass'
         36        DO_FCALL                                      0          
         37        ASSIGN_OBJ                                               !5, 'timestamp'
         38        OP_DATA                                                  $31
   55    39        INIT_FCALL                                               'strtotime'
         40        INIT_FCALL                                               'date'
         41        SEND_VAL                                                 'Y-m-d+H%3Ai%3As'
         42        DO_ICALL                                         $35     
         43        SEND_VAR                                                 $35
         44        DO_ICALL                                         $36     
         45        FETCH_OBJ_W                                      $33     !5, 'timestamp'
         46        ASSIGN_OBJ                                               $33, 'current'
         47        OP_DATA                                                  $36
   56    48        INIT_FCALL                                               'strtotime'
         49        SEND_VAR                                                 !0
         50        DO_ICALL                                         $39     
         51        FETCH_OBJ_W                                      $37     !5, 'timestamp'
         52        ASSIGN_OBJ                                               $37, 'start'
         53        OP_DATA                                                  $39
   57    54        INIT_FCALL                                               'strtotime'
         55        SEND_VAR                                                 !1
         56        DO_ICALL                                         $42     
         57        FETCH_OBJ_W                                      $40     !5, 'timestamp'
         58        ASSIGN_OBJ                                               $40, 'end'
         59        OP_DATA                                                  $42
   60    60        INIT_FCALL                                               'explode'
         61        SEND_VAL                                                 '+'
         62        INIT_FCALL                                               'date'
         63        SEND_VAL                                                 'Y+m+d+H+i+s+A'
         64        DO_ICALL                                         $45     
         65        SEND_VAR                                                 $45
         66        INIT_FCALL                                               'time'
         67        DO_ICALL                                         $46     
         68        SEND_VAR                                                 $46
         69        DO_ICALL                                         $47     
         70        FETCH_OBJ_W                                      $43     !5, 'ts'
         71        ASSIGN_OBJ                                               $43, 'current'
         72        OP_DATA                                                  $47
   61    73        INIT_FCALL                                               'explode'
         74        SEND_VAL                                                 '+'
         75        INIT_FCALL                                               'date'
         76        SEND_VAL                                                 'Y+m+d+H+i+s+A'
         77        FETCH_OBJ_R                                      ~50     !5, 'timestamp'
         78        FETCH_OBJ_R                                      ~51     ~50, 'start'
         79        SEND_VAL                                                 ~51
         80        DO_ICALL                                         $52     
         81        SEND_VAR                                                 $52
         82        DO_ICALL                                         $53     
         83        FETCH_OBJ_W                                      $48     !5, 'ts'
         84        ASSIGN_OBJ                                               $48, 'start'
         85        OP_DATA                                                  $53
   62    86        INIT_FCALL                                               'explode'
         87        SEND_VAL                                                 '+'
         88        INIT_FCALL                                               'date'
         89        SEND_VAL                                                 'Y+m+d+H+i+s+A'
         90        FETCH_OBJ_R                                      ~56     !5, 'timestamp'
         91        FETCH_OBJ_R                                      ~57     ~56, 'end'
         92        SEND_VAL                                                 ~57
         93        DO_ICALL                                         $58     
         94        SEND_VAR                                                 $58
         95        DO_ICALL                                         $59     
         96        FETCH_OBJ_W                                      $54     !5, 'ts'
         97        ASSIGN_OBJ                                               $54, 'end'
         98        OP_DATA                                                  $59
   65    99        NEW                                              $61     'stdClass'
        100        DO_FCALL                                      0          
        101        ASSIGN_OBJ                                               !5, 'ts_current'
        102        OP_DATA                                                  $61
   66   103        FETCH_OBJ_R                                      ~65     !5, 'ts'
        104        FETCH_OBJ_R                                      ~66     ~65, 'current'
        105        FETCH_DIM_R                                      ~67     ~66, 0
        106        FETCH_OBJ_W                                      $63     !5, 'ts_current'
        107        ASSIGN_OBJ                                               $63, 'year'
        108        OP_DATA                                                  ~67
   67   109        FETCH_OBJ_R                                      ~70     !5, 'ts'
        110        FETCH_OBJ_R                                      ~71     ~70, 'current'
        111        FETCH_DIM_R                                      ~72     ~71, 1
        112        FETCH_OBJ_W                                      $68     !5, 'ts_current'
        113        ASSIGN_OBJ                                               $68, 'month'
        114        OP_DATA                                                  ~72
   68   115        FETCH_OBJ_R                                      ~75     !5, 'ts'
        116        FETCH_OBJ_R                                      ~76     ~75, 'current'
        117        FETCH_DIM_R                                      ~77     ~76, 2
        118        FETCH_OBJ_W                                      $73     !5, 'ts_current'
        119        ASSIGN_OBJ                                               $73, 'day'
        120        OP_DATA                                                  ~77
   69   121        FETCH_OBJ_R                                      ~80     !5, 'ts'
        122        FETCH_OBJ_R                                      ~81     ~80, 'current'
        123        FETCH_DIM_R                                      ~82     ~81, 3
        124        CONCAT                                           ~83     ~82, '%3A'
        125        FETCH_OBJ_R                                      ~84     !5, 'ts'
        126        FETCH_OBJ_R                                      ~85     ~84, 'start'
        127        FETCH_DIM_R                                      ~86     ~85, 4
        128        CONCAT                                           ~87     ~83, ~86
        129        FETCH_OBJ_W                                      $78     !5, 'ts_current'
        130        ASSIGN_OBJ                                               $78, 'time'
        131        OP_DATA                                                  ~87
   70   132        FETCH_OBJ_R                                      ~90     !5, 'ts'
        133        FETCH_OBJ_R                                      ~91     ~90, 'current'
        134        FETCH_DIM_R                                      ~92     ~91, 6
        135        FETCH_OBJ_W                                      $88     !5, 'ts_current'
        136        ASSIGN_OBJ                                               $88, 'ampm'
        137        OP_DATA                                                  ~92
   73   138        NEW                                              $94     'stdClass'
        139        DO_FCALL                                      0          
        140        ASSIGN_OBJ                                               !5, 'ts_start'
        141        OP_DATA                                                  $94
   74   142        FETCH_OBJ_R                                      ~98     !5, 'ts'
        143        FETCH_OBJ_R                                      ~99     ~98, 'start'
        144        FETCH_DIM_R                                      ~100    ~99, 0
        145        FETCH_OBJ_W                                      $96     !5, 'ts_start'
        146        ASSIGN_OBJ                                               $96, 'year'
        147        OP_DATA                                                  ~100
   75   148        FETCH_OBJ_R                                      ~103    !5, 'ts'
        149        FETCH_OBJ_R                                      ~104    ~103, 'start'
        150        FETCH_DIM_R                                      ~105    ~104, 1
        151        FETCH_OBJ_W                                      $101    !5, 'ts_start'
        152        ASSIGN_OBJ                                               $101, 'month'
        153        OP_DATA                                                  ~105
   76   154        FETCH_OBJ_R                                      ~108    !5, 'ts'
        155        FETCH_OBJ_R                                      ~109    ~108, 'start'
        156        FETCH_DIM_R                                      ~110    ~109, 2
        157        FETCH_OBJ_W                                      $106    !5, 'ts_start'
        158        ASSIGN_OBJ                                               $106, 'day'
        159        OP_DATA                                                  ~110
   77   160        FETCH_OBJ_R                                      ~113    !5, 'ts'
        161        FETCH_OBJ_R                                      ~114    ~113, 'start'
        162        FETCH_DIM_R                                      ~115    ~114, 3
        163        CONCAT                                           ~116    ~115, '%3A'
        164        FETCH_OBJ_R                                      ~117    !5, 'ts'
        165        FETCH_OBJ_R                                      ~118    ~117, 'start'
        166        FETCH_DIM_R                                      ~119    ~118, 4
        167        CONCAT                                           ~120    ~116, ~119
        168        FETCH_OBJ_W                                      $111    !5, 'ts_start'
        169        ASSIGN_OBJ                                               $111, 'time'
        170        OP_DATA                                                  ~120
   78   171        FETCH_OBJ_R                                      ~123    !5, 'ts'
        172        FETCH_OBJ_R                                      ~124    ~123, 'start'
        173        FETCH_DIM_R                                      ~125    ~124, 6
        174        FETCH_OBJ_W                                      $121    !5, 'ts_start'
        175        ASSIGN_OBJ                                               $121, 'ampm'
        176        OP_DATA                                                  ~125
   81   177        NEW                                              $127    'stdClass'
        178        DO_FCALL                                      0          
        179        ASSIGN_OBJ                                               !5, 'ts_end'
        180        OP_DATA                                                  $127
   82   181        FETCH_OBJ_R                                      ~131    !5, 'ts'
        182        FETCH_OBJ_R                                      ~132    ~131, 'end'
        183        FETCH_DIM_R                                      ~133    ~132, 0
        184        FETCH_OBJ_W                                      $129    !5, 'ts_end'
        185        ASSIGN_OBJ                                               $129, 'year'
        186        OP_DATA                                                  ~133
   83   187        FETCH_OBJ_R                                      ~136    !5, 'ts'
        188        FETCH_OBJ_R                                      ~137    ~136, 'end'
        189        FETCH_DIM_R                                      ~138    ~137, 1
        190        FETCH_OBJ_W                                      $134    !5, 'ts_end'
        191        ASSIGN_OBJ                                               $134, 'month'
        192        OP_DATA                                                  ~138
   84   193        FETCH_OBJ_R                                      ~141    !5, 'ts'
        194        FETCH_OBJ_R                                      ~142    ~141, 'end'
        195        FETCH_DIM_R                                      ~143    ~142, 2
        196        FETCH_OBJ_W                                      $139    !5, 'ts_end'
        197        ASSIGN_OBJ                                               $139, 'day'
        198        OP_DATA                                                  ~143
   85   199        FETCH_OBJ_R                                      ~146    !5, 'ts'
        200        FETCH_OBJ_R                                      ~147    ~146, 'end'
        201        FETCH_DIM_R                                      ~148    ~147, 3
        202        CONCAT                                           ~149    ~148, '%3A'
        203        FETCH_OBJ_R                                      ~150    !5, 'ts'
        204        FETCH_OBJ_R                                      ~151    ~150, 'start'
        205        FETCH_DIM_R                                      ~152    ~151, 4
        206        CONCAT                                           ~153    ~149, ~152
        207        FETCH_OBJ_W                                      $144    !5, 'ts_end'
        208        ASSIGN_OBJ                                               $144, 'time'
        209        OP_DATA                                                  ~153
   86   210        FETCH_OBJ_R                                      ~156    !5, 'ts'
        211        FETCH_OBJ_R                                      ~157    ~156, 'end'
        212        FETCH_DIM_R                                      ~158    ~157, 6
        213        FETCH_OBJ_W                                      $154    !5, 'ts_end'
        214        ASSIGN_OBJ                                               $154, 'ampm'
        215        OP_DATA                                                  ~158
   89   216        NEW                                              $160    'stdClass'
        217        DO_FCALL                                      0          
        218        ASSIGN_OBJ                                               !5, 'dif'
        219        OP_DATA                                                  $160
   90   220        FETCH_OBJ_R                                      ~164    !5, 'ts_end'
        221        FETCH_OBJ_R                                      ~165    ~164, 'year'
        222        FETCH_OBJ_R                                      ~166    !5, 'ts_start'
        223        FETCH_OBJ_R                                      ~167    ~166, 'year'
        224        IS_SMALLER                                       ~168    ~167, ~165
        225      > JMPNZ_EX                                         ~168    ~168, ->232
        226    >   FETCH_OBJ_R                                      ~169    !5, 'ts_start'
        227        FETCH_OBJ_R                                      ~170    ~169, 'year'
        228        FETCH_OBJ_R                                      ~171    !5, 'ts_current'
        229        FETCH_OBJ_R                                      ~172    ~171, 'year'
        230        IS_SMALLER                                       ~173    ~172, ~170
        231        BOOL                                             ~168    ~173
        232    > > JMPZ                                                     ~168, ->235
        233    >   QM_ASSIGN                                        ~174    <true>
        234      > JMP                                                      ->236
        235    >   QM_ASSIGN                                        ~174    <false>
        236    >   FETCH_OBJ_W                                      $162    !5, 'dif'
        237        ASSIGN_OBJ                                               $162, 'year'
        238        OP_DATA                                                  ~174
   91   239        FETCH_OBJ_R                                      ~177    !5, 'ts_end'
        240        FETCH_OBJ_R                                      ~178    ~177, 'month'
        241        FETCH_OBJ_R                                      ~179    !5, 'ts_start'
        242        FETCH_OBJ_R                                      ~180    ~179, 'month'
        243        IS_SMALLER                                               ~180, ~178
        244      > JMPZ                                                     ~181, ->247
        245    >   QM_ASSIGN                                        ~182    <true>
        246      > JMP                                                      ->248
        247    >   QM_ASSIGN                                        ~182    <false>
        248    >   FETCH_OBJ_W                                      $175    !5, 'dif'
        249        ASSIGN_OBJ                                               $175, 'month'
        250        OP_DATA                                                  ~182
   92   251        FETCH_OBJ_R                                      ~185    !5, 'ts_end'
        252        FETCH_OBJ_R                                      ~186    ~185, 'day'
        253        FETCH_OBJ_R                                      ~187    !5, 'ts_start'
        254        FETCH_OBJ_R                                      ~188    ~187, 'day'
        255        IS_SMALLER                                               ~188, ~186
        256      > JMPZ                                                     ~189, ->259
        257    >   QM_ASSIGN                                        ~190    <true>
        258      > JMP                                                      ->260
        259    >   QM_ASSIGN                                        ~190    <false>
        260    >   FETCH_OBJ_W                                      $183    !5, 'dif'
        261        ASSIGN_OBJ                                               $183, 'day'
        262        OP_DATA                                                  ~190
   93   263        FETCH_OBJ_R                                      ~193    !5, 'ts_end'
        264        FETCH_OBJ_R                                      ~194    ~193, 'time'
        265        FETCH_OBJ_R                                      ~195    !5, 'ts_start'
        266        FETCH_OBJ_R                                      ~196    ~195, 'time'
        267        IS_SMALLER                                               ~196, ~194
        268      > JMPZ                                                     ~197, ->271
        269    >   QM_ASSIGN                                        ~198    <true>
        270      > JMP                                                      ->272
        271    >   QM_ASSIGN                                        ~198    <false>
        272    >   FETCH_OBJ_W                                      $191    !5, 'dif'
        273        ASSIGN_OBJ                                               $191, 'time'
        274        OP_DATA                                                  ~198
   94   275        FETCH_OBJ_R                                      ~201    !5, 'ts_end'
        276        FETCH_OBJ_R                                      ~202    ~201, 'ampm'
        277        FETCH_OBJ_R                                      ~203    !5, 'ts_start'
        278        FETCH_OBJ_R                                      ~204    ~203, 'ampm'
        279        IS_SMALLER                                               ~204, ~202
        280      > JMPZ                                                     ~205, ->283
        281    >   QM_ASSIGN                                        ~206    <true>
        282      > JMP                                                      ->284
        283    >   QM_ASSIGN                                        ~206    <false>
        284    >   FETCH_OBJ_W                                      $199    !5, 'dif'
        285        ASSIGN_OBJ                                               $199, 'ampm'
        286        OP_DATA                                                  ~206
   97   287        NEW                                              $208    'stdClass'
        288        DO_FCALL                                      0          
        289        ASSIGN_OBJ                                               !5, 'display'
        290        OP_DATA                                                  $208
   98   291        NEW                                              $212    'stdClass'
        292        DO_FCALL                                      0          
        293        FETCH_OBJ_W                                      $210    !5, 'display'
        294        ASSIGN_OBJ                                               $210, 'start'
        295        OP_DATA                                                  $212
   99   296        INIT_FCALL                                               'date'
        297        SEND_VAL                                                 'Y'
        298        FETCH_OBJ_R                                      ~217    !5, 'timestamp'
        299        FETCH_OBJ_R                                      ~218    ~217, 'start'
        300        SEND_VAL                                                 ~218
        301        DO_ICALL                                         $219    
        302        FETCH_OBJ_W                                      $214    !5, 'display'
        303        FETCH_OBJ_W                                      $215    $214, 'start'
        304        ASSIGN_OBJ                                               $215, 'year'
        305        OP_DATA                                                  $219
  100   306        INIT_FCALL                                               'date'
        307        SEND_VAL                                                 'F'
        308        FETCH_OBJ_R                                      ~223    !5, 'timestamp'
        309        FETCH_OBJ_R                                      ~224    ~223, 'start'
        310        SEND_VAL                                                 ~224
        311        DO_ICALL                                         $225    
        312        FETCH_OBJ_W                                      $220    !5

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
257.66 ms | 1428 KiB | 22 Q