¿Cómo puedo obtener los 2 últimos dígitos:Devolver los 2 últimos dígitos de un número
<departureDate>200912</departureDate>
a mi objetivo:
$year = $flightDates->departureDate->year;
¿Cómo puedo obtener los 2 últimos dígitos:Devolver los 2 últimos dígitos de un número
<departureDate>200912</departureDate>
a mi objetivo:
$year = $flightDates->departureDate->year;
// first two
$year = substr($flightDates->departureDate->year, 0, 2);
// last two
$year = substr($flightDates->departureDate->year, -2);
Pero dado el hecho de que eres al analizar una fecha aquí, sería más inteligente usar la función de fecha. p.e. strtotime()
y date()
o incluso:
<?php
$someDate ='200912';
$dateObj = DateTime::createFromFormat('dmy', $someDate);
echo $dateObj->format('Y');
// prints "2012" .. (see date formats)
Ejemplo 1: Usted sólo puede dañar las etiquetas con strip_tags
y utilizar substr
$number = '<departureDate>200912</departureDate>' ;
$year = substr(strip_tags($number), 0,2);
var_dump($year);
Ejemplo 2: también se puede utilizar con simplexml_load_string
substr
$number = '<departureDate>200912</departureDate>' ;
$year = substr(simplexml_load_string($number),0,2);
var_dump($year);
salida
string '20' (length=2)
convertirlo en cadena. luego tome los primeros dos elementos.
En java puede hacerlo siguiendo el código. Deje que la variable sea un entero llamado x. luego puede usar
byte[] array= Integer.toString(x).get.bytes().
Ahora array [0] y array [1] son los primeros dos dígitos. array [array.length-1] y array [array.length] son los dos últimos.
Agregue un código para que su respuesta sea más significativa – Yaroslav
En java puede hacer esto siguiendo el código. Deje que la variable sea un entero llamado x. luego puede usar byte [] array = Integer.toString (x) .get.bytes().Ahora array [0] y array [1] son los primeros dos dígitos. –
Edita tu respuesta y agrega este código allí, no te olvides de formatearla también. – Yaroslav
Usted sólo puede tratar como cadena, la función substr
lo convertirá automáticamente:
<?php
//$year = '200912';
$year = $flightDates->departureDate->year;
echo substr($year, -2);
?>
Tome una mirada más cercana a substr función. Si desea que el resultado sea un entero estricto, simplemente agregue (int)
al frente de la declaración.
Pero, como Jan. dicho, es mejor que se debe trabajar con él como una fecha:
<?php
//$year = '200912';
$year = $flightDates->departureDate->year;
$date = DateTime::createFromFormat('dmy', $year);
echo date("y", $date->getTimestamp());
?>
Opción editada para la fecha. – Peon
Se podría utilizar una operación aritimethic básica, así ...
while ($var > 100)
{
$var = (int) $var/10;
}
Podría haber una mejor solución, pero esta encajará bien
Este es un viejo código loco de la escuela: D – Peon
Traté de salir de C, pero C no salió de mí, jeje – ARibas
pero este código __describe__ los últimos dígitos, manteniendo solo los dos primeros ... – IdiotFromOutOfNowhere
Para los números, se puede utilizar la función de php módulo (http://php.net/manual/en/internals2.opcodes.mod.php):
<?php
//$year = '200912';
$year = $flightDates->departureDate->year;
echo $year % 100;
?>
es que $ flightDates-> departureDate-> year' '' que devuelve 200912 departureDate> ' –
Baba
No lo creo. Parece que el número se extrae de XML – Peon
Eche un vistazo a la función date() y la función strtotime() en php.net. –