我怎樣才能得到最後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()函數。 –