Ich verwende das PHP AWS SDK, um alle laufenden Instanzen in meinem Konto abzurufen. Früher habe ich die folgenden API:Laufzeit für eine AWS-Instanz abrufen
$this->ec2Client = Ec2Client::factory(array(
'profile' => AWS_PROFILE, //contains my credentials
'region' => 'ap-northeast-1',
'version' => 'latest',
));
$result = $this->ec2Client->DescribeInstances(array(
'Filters' => array(
array('Name' => 'instance-state-name', 'Values' => array('running')),
)
));
Ich kann die alle zum Laufen bringen Instanzen mit den LaunchTime
und den AvailabilityZone
Informationen. Die Werte für diese sind 2014-10-31T10:58:35+00:00
bzw. ap-northeast-1a
.
Basierend auf diesen Informationen möchte ich die Laufzeit in Minuten berechnen. Was ist der richtige Weg, dies zu tun?
Da der EC2-Client und andere Instanzen könnte in verschiedenen AZs laufen, müssen wir die Zeitzone berücksichtigen? – user3288346
Nein. 'DateTime'-Objekte berücksichtigen die Zeitzone bei der Berechnung eines Diff. Der von der EC2-API zurückgegebene Wert ist ein ganzzahliger (Epoch) Zeitstempel. – giaour
ok, aber der Wert, der für 'launchTime' zurückgegeben wird, ist' string' und ich brauche das Ergebnis in Minuten. Also habe ich folgendes versucht: '$ launch_time = new DateTime ($ instance [" LaunchTime "]);' '$ launch_time-> diff (neu \ DateTime ('now'), true)' Jetzt 'echo $ launch_time 'produziert Stunden, Minuten, Tage getrennt. Soll ich das dann manuell in Minuten umwandeln? – user3288346