如何获取最后两位数字:
<departureDate>200912</departureDate>
到我的对象:
$year = $flightDates->departureDate->year;
答案 0 :(得分:22)
// 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)
答案 1 :(得分:6)
你可以将它作为字符串来解决,函数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() );
?>
答案 2 :(得分:2)
您可以使用基本的aritimethic操作,就像这样......
while ( $var > 100 )
{
$var = (int) $var / 10;
}
可能有一个更好的解决方案,但这个很合适
答案 3 :(得分:1)
示例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)
答案 4 :(得分:0)
将其转换为字符串。然后采取前两个元素。
在java中,您可以通过以下代码执行此操作。设变量是一个名为x的整数。然后你可以使用
byte[] array= Integer.toString(x).get.bytes().
现在array [0]和array [1]是前两位数字。 array [array.length-1]和array [array.length]是最后两个。