public function testSerializeDeserialize() { $dateStr = '2014-01-09 19:20:30'; $date = EBDateTime::createFromFormat(EBDateTime::getDateTimeFormat(), $dateStr); $dateJson = $this->serializer->serialize($date, 'json'); $this->assertEquals('"2014-01-09 19:20:30"', $dateJson); $dateXml = $this->serializer->serialize($date, 'xml'); $this->assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<result><![CDATA[2014-01-09 19:20:30]]></result>\n", $dateXml); /** @var EBDateTime $dateFromJson */ $dateFromJson = $this->serializer->deserialize($dateJson, 'EBT\\EBDate\\EBDateTime', 'json'); $this->assertEquals($dateStr, $dateFromJson->formatAsString()); /** @var EBDateTime $dateFromXml */ $dateFromXml = $this->serializer->deserialize($dateXml, 'EBT\\EBDate\\EBDateTime', 'xml'); $this->assertEquals($dateStr, $dateFromXml->formatAsString()); }
/** * @param mixed $data * @param array $type * * @return EBDateTime */ private function parseDateTime($data, array $type) { return EBDateTime::createFromFormat($this->getFormat($type), (string) $data, isset($type['params'][1]) ? new \DateTimeZone($type['params'][1]) : $this->defaultTimezone); }
/** * @covers EBC\PublisherClient\PublisherClientInterface::getCampaigns() */ public function testGetCampaignsWithPagination() { $client = new PublisherClient(); $client->setPublisher(2, 'thekey', 'thesecret'); $plugin = new MockPlugin(); $plugin->addResponse(new Response(200, null, file_get_contents(__DIR__ . '/Model/campaigns.json'))); $client->addSubscriber($plugin); $campaigns = $client->getCampaigns(PublisherClientInterface::CAMPAIGN_ORDER_BY_FIELD_UPDATED_AT, PublisherClientInterface::CAMPAIGN_ORDER_BY_DIRECTION_ASC, EBDateTime::createFromFormat(EBDateTime::getDateFormat(), '2014-02-15'), 1, null, null, 2, 10); $this->assertCount(7, $campaigns); /** @var Request $request */ $request = $plugin->getReceivedRequests()[0]; $this->assertEquals('https://api.emailbidding.com/api/p/publishers/2/campaigns?key=thekey&secret=thesecret&orderField=updated_at&orderDirection=ASC&endDateGreaterThan=2014-02-15&country=1&page=2&pageResultsNumber=10', $request->getUrl()); }
public function testDifferences() { // in seconds $date1 = EBDateTime::createFromFormatUTC('Y-m-d H:i:s', '2014-01-09 19:30:20'); $date2 = EBDateTime::createFromFormatUTC('Y-m-d H:i:s', '2014-01-09 19:35:30'); $this->assertEquals(310, $date1->diffInSeconds($date2)); }
/** * Get the difference in seconds * * @param EBDateTime $dateTime * @param boolean $abs Get the absolute of the difference * * @return integer */ public function diffInSeconds(EBDateTime $dateTime, $abs = true) { $value = $dateTime->getTimestamp() - $this->getTimestamp(); return $abs ? abs($value) : $value; }