12

次の最後の 2 桁を取得するにはどうすればよいですか。

<departureDate>200912</departureDate>

私のオブジェクトに:

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

6 に答える 6

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

ただし、ここで日付を解析しているという事実を考えると、日付関数を使用する方が賢明です。pestrtotime()およびdate()または:

<?php
$someDate ='200912';
$dateObj = DateTime::createFromFormat('dmy', $someDate);
echo $dateObj->format('Y');
// prints "2012" .. (see date formats)
于 2012-09-28T12:07:35.263 に答える
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() );

?>
于 2012-09-28T12:05:26.403 に答える
2

このような基本的な算術演算を使用できます...

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

より良い解決策があるかもしれませんが、これはうまくいきます

于 2012-09-28T12:06:07.450 に答える
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)
于 2012-09-28T12:05:08.687 に答える
0

文字列に変換します。次に、最初の 2 つの要素を取得します。

Java では、次のコードでこれを行うことができます。変数が x という名前の整数であるとします。その後、使用できます

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

現在、array[0] と array[1] は最初の 2 桁です。array[array.length-1] と array[array.length] は最後の 2 つです。

于 2012-09-28T12:05:23.320 に答える