我正在使用PHP AWS开发工具包获取我的帐户中的所有正在运行的实例。我用下面的API:获取AWS实例的运行时间
$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')),
)
));
我可以得到所有与LaunchTime
和AvailabilityZone
信息的运行实例。
它们的值分别是2014-10-31T10:58:35+00:00
和ap-northeast-1a
。
基于这些信息,我想计算以分钟计的运行时间。什么是正确的方法来做到这一点?
由于EC2客户端和其他实例可以运行在不同的AZ中,我们是否需要考虑时区? – user3288346
编号计算差异时,'DateTime'对象考虑时区,从EC2的API返回的值是整数(epoch)时间戳。 – giaour
ok,但'launchTime'的返回值是'string',我需要几分钟的时间。所以我尝试了以下内容: '''''''''launch_time = new DateTime($ instance [“LaunchTime”]);' ' $ launch_time-> diff(new \ DateTime('now'),true)' 'echo $ launch_time '分别生产几小时,几分钟,几天。我应该手动转换为分钟吗? – user3288346