Возвратите последние 2 цифры числа

Как я могу получить последние 2 цифры:

<departureDate>200912</departureDate>

к моему объекту:

$year = $flightDates->departureDate->year;

Ответ 1

// first two
$year = substr($flightDates->departureDate->year, 0, 2);
// last two
$year = substr($flightDates->departureDate->year, -2);

Но учитывая тот факт, что вы разбираете дату здесь, было бы разумнее использовать функцию даты. возможная ошибка strtotime() и date() или даже:

<?php
$someDate ='200912';
$dateObj = DateTime::createFromFormat('dmy', $someDate);
echo $dateObj->format('Y');
// prints "2012" .. (see date formats)

Ответ 2

Вы можете просто указать его как строку, функция substr будет автоматически конвертировать его:

<?php

//$year = '200912';
$year = $flightDates->departureDate->year;

echo substr( $year, -2 );

?>

Посмотрите более подробно на substr. Если вы хотите, чтобы результат был строгим целым числом, просто добавьте (int) перед возвратом.

Но, как сказал Ян., вам лучше работать с ним как дату:

<?php

//$year = '200912';
$year = $flightDates->departureDate->year;

$date = DateTime::createFromFormat( 'dmy', $year );

echo date( "y", $date->getTimestamp() );

?>

Ответ 4

Вы можете использовать базовую арифметическую операцию, например...

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

Может быть лучшее решение, но это будет соответствовать тонкому

Ответ 5

Пример 1: вы можете просто разделить теги на strip_tags и использовать substr

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

Пример 2: Вы также можете использовать simplexml_load_string с substr

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

Выход

string '20' (length=2)

Ответ 6

преобразуйте его в строку. затем возьмите первые два элемента.

В java вы можете сделать это, выполнив следующий код. Пусть переменная является целым числом с именем x. то вы можете использовать

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

Теперь массив [0] и массив [1] - первые две цифры.  массив [array.length-1] и массив [array.length] - это последние два.