返回最后 2 位数字一个数字



如何获取以下最后 2 位数字:

<departureDate>200912</departureDate>

到我的对象:

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

但鉴于您在此处解析日期的事实,使用 date 函数会更明智。体育 strtotime()date()甚至:

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

把它当作字符串,函数substr会自动转换它:

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

仔细看看 substr 函数。如果您希望结果是严格整数,则只需在返回值前面添加(int)即可。

但是,正如Jan所说,你最好把它作为一个日期:

<?php
//$year = '200912';
$year = $flightDates->departureDate->year;
$date = DateTime::createFromFormat( 'dmy', $year );
echo date( "y", $date->getTimestamp() );
?>

对于数字,你可以使用 php 的模函数 (http://php.net/manual/en/internals2.opcodes.mod.php):

<?php
//$year = '200912';
$year = $flightDates->departureDate->year;
echo $year % 100;
?>

您可以使用基本的算术运算,如下所示...

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

可能有更好的解决方案,但这个解决方案很合适

示例 1 :您可以使用 strip_tags 去除标签并使用substr

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

示例 2:您也可以将simplexml_load_stringsubstr一起使用

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

输出

string '20' (length=2)
将其

转换为字符串。 然后取前两个元素。

在 java 中,您可以通过以下代码来执行此操作。让变量是一个名为 x 的整数。然后你可以使用

byte[] array= Integer.toString(x).get.bytes(). 
现在数组[

0]和数组[1]是前两位数字。 array[array.length-1] 和 array[array.length] 是最后两个。

最新更新