如何在ICS中首先显示时间,然后显示日期

时间:2015-11-07 07:18:54

标签: php icalendar

我正在为我的应用程序使用ICS文件显示正确的日期和时间(例如,2014年11月7日上午11:50(IST))但我想首先显示时间,然后是日期(例如,11月7日上午11点50分, 2014(IST))如何做到这一点?

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);
}

}
?>

1 个答案:

答案 0 :(得分:1)

你看错了地方。 ics文件中日期和时间的格式是固定的,并由iCalendar规范定义(参见http://tools.ietf.org/html/rfc5545#section-3.3.5)。 应用程序使用这些ics文件以他们选择的任何格式显示日期。