parseDate($value); $date[1] = ltrim($date[1], '0'); $this->find($this->datePickerButton, Locator::SELECTOR_XPATH)->click(); $datapicker = $this->find($this->datePickerBlock, Locator::SELECTOR_XPATH); $datapicker->find($this->datePickerMonth, Locator::SELECTOR_XPATH, 'select')->setValue($date[0]); $datapicker->find($this->datePickerYear, Locator::SELECTOR_XPATH, 'select')->setValue($date[2]); $datapicker->find(sprintf($this->datePickerCalendar, $date[1]), Locator::SELECTOR_XPATH)->click(); if ($datapicker->isVisible()) { $datapicker->find($this->datePickerButtonClose, Locator::SELECTOR_XPATH)->click(); } } /** * Parse date from string to array. * * @param string $value * @return array */ protected function parseDate($value) { $formatDate = '%b %d, %Y %I:%M %p'; if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { $formatDate = str_replace('%d', '%#d', $formatDate); } $date = strtotime($value); $date = strftime($formatDate, $date); $date = preg_split('/[,\s]/', $date); array_splice($date, 2, 1); return $date; } }