Я использую ICS-файл для своего приложения, показывающий правильную дату и время (например, 7 ноября 2014 года 11:50 (IST)), но я хочу отобразить время сначала, а затем дата (например, 11:50 утра 7 ноября, 2014 год (IST)), как это сделать?как отображать время сначала, а затем дату в ICS
class ICS{
function __construct(){
}
function generateICS($timestamp_start, $timestamp_end, $subject, $address, $description, $event_url){
$datestr_start = $this->dateToCal($timestamp_start);
$datestr_end = $this->dateToCal($timestamp_end);
$datestr_current = $this->dateToCal(date('U'));
$esc_subject = $this->escapeString($subject);
$esc_address = $this->escapeString($address);
$esc_description = $this->escapeString($description);
$esc_url = $this->escapeString($event_url);
$uniqid = uniqid();
$ics = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTEND:$datestr_end
UID:$uniqid
DTSTAMP:$datestr_current
LOCATION:$address
DESCRIPTION:$esc_description
URL;VALUE=URI:$esc_url
SUMMARY:$esc_subject
DTSTART:$datestr_start
END:VEVENT
END:VCALENDAR
ICS;
return $ics;
}
function dateToCal($timestamp) {
return gmdate('Ymd\THis', $timestamp);
}
function escapeString($string) {
return preg_replace('/([\,;])/','\\\$1', $string);
}
}
?>
Опишите свой вопрос бит больше –
Вы уверены, что это проблема, связанная с php? Я бы ожидал, что стандартный формат будет использовать фиксированный формат для временных меток, чтобы все программные компоненты, заменяющие такие данные, могли понять, что имеется в виду. Свободный формат в стандарте не имеет большого смысла. Я ожидал бы, что до уровня визуализации можно форматировать обмененные данные, такие как настроенный пользователем. – arkascha
На самом деле это не проблема, связанная с php, но мне интересно узнать, есть ли их функция php для изменения формата (что означает отображение времени и даты вместо даты и времени). –