我怎样才能得到最后2个位数的:返回的最后2位的数字
<departureDate>200912</departureDate>
到我的对象:
$year = $flightDates->departureDate->year;
我怎样才能得到最后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);
但考虑到你是事实在这里解析一个日期,使用日期函数会更聪明。 p.e. strtotime()
和date()
甚至:
<?php
$someDate ='200912';
$dateObj = DateTime::createFromFormat('dmy', $someDate);
echo $dateObj->format('Y');
// prints "2012" .. (see date formats)
例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)
将其转换为字符串。然后拿走前两个元素。
在java中,你可以通过下面的代码来做到这一点。让该变量是一个名为x的整数。那么你可以使用
byte[] array= Integer.toString(x).get.bytes().
现在array [0]和array [1]是前两位数字。 array [array.length-1]和array [array.length]是最后两个。
您可以只针对它作为字符串,函数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());
?>
为日期选项编辑。 – Peon
你可以使用一个基本aritimethic操作,像这样...
while ($var > 100)
{
$var = (int) $var/10;
}
有可能是更好的解决方案,但这一个将适合罚款
这是一些疯狂的oldschool代码:D – Peon
我试图走出C但C没有离开我,嘿嘿 – ARibas
但这个代码__discards__最后的数字,只保留两个第一个... – IdiotFromOutOfNowhere
对于数字,你可以使用PHP的模函数(http://php.net/manual/en/internals2.opcodes.mod.php):
<?php
//$year = '200912';
$year = $flightDates->departureDate->year;
echo $year % 100;
?>
是吧'$ flightDates-> departureDate-> year'返回' 200912 departureDate>' –
Baba
不这么认为。看起来数字是从XML中提取的 – Peon
在php.net中查看date()函数和strtotime()函数。 –