Return the last 2 digits a number

后端 未结 6 991
Happy的楠姐
Happy的楠姐 2021-01-11 15:00

How can I get the last 2 digits of:

200912

to my object:

$year = $flightDates-&         


        
相关标签:
6条回答
  • 2021-01-11 15:01
    // first two
    $year = substr($flightDates->departureDate->year, 0, 2);
    // last two
    $year = substr($flightDates->departureDate->year, -2);
    

    But given the fact that you're parsing a date here it would be smarter to use the date function. p.e. strtotime() and date() or even:

    <?php
    $someDate ='200912';
    $dateObj = DateTime::createFromFormat('dmy', $someDate);
    echo $dateObj->format('Y');
    // prints "2012" .. (see date formats)
    
    0 讨论(0)
  • 2021-01-11 15:06

    For numbers, you could use php's modulo function (http://php.net/manual/en/internals2.opcodes.mod.php):

    <?php
    //$year = '200912';
    $year = $flightDates->departureDate->year;
    
    echo $year % 100;
    ?>
    
    0 讨论(0)
  • 2021-01-11 15:12

    Example 1 : You can just strip the tags with strip_tags and use substr

    $number = '<departureDate>200912</departureDate>' ;
    $year = substr(strip_tags($number), 0,2);
    var_dump($year);
    

    Example 2 : You can also use simplexml_load_string with substr

    $number = '<departureDate>200912</departureDate>' ;
    $year = substr(simplexml_load_string($number),0,2);
    var_dump($year);
    

    Output

    string '20' (length=2)
    
    0 讨论(0)
  • 2021-01-11 15:22

    You could use a basic aritimethic operation, like this...

    while ( $var > 100 ) 
    {
        $var = (int) $var / 10;
    }
    

    There could be a better solution but this one will fit fine

    0 讨论(0)
  • 2021-01-11 15:25

    convert it to string. then take the first two element.

    In java you can do this by following code. Let the variable is an integer named x . then you can use

    byte[] array= Integer.toString(x).get.bytes(). 
    

    Now array[0] and array[1] is the first two digits. array[array.length-1] and array[array.length] are the last two.

    0 讨论(0)
  • 2021-01-11 15:27

    You can just address it as string, the function substr will convert it automatically:

    <?php
    
    //$year = '200912';
    $year = $flightDates->departureDate->year;
    
    echo substr( $year, -2 );
    
    ?>
    

    Take a closer look at substr function. If you want the result to be a strict integer, then just add (int) in front of the return.

    But, as Jan. said, you should better work with it as a date:

    <?php
    
    //$year = '200912';
    $year = $flightDates->departureDate->year;
    
    $date = DateTime::createFromFormat( 'dmy', $year );
    
    echo date( "y", $date->getTimestamp() );
    
    ?>
    
    0 讨论(0)
提交回复
热议问题