浮現在腦海,這可能更多的是創可貼的解決方案,但在$dformat
檢查%p
EDITED溶液中的第一件事
如果有格式化我的各種形式雲集了評論,而不是也許是最好的,如果%p呈現一個空字符串實際上插自己的%p因此該方案可能會爲你工作:
$check_for_empty_string = false;
if (preg_match("@%[email protected]", $dformat)) {
if (strftime('%p', $node->start) == '') {
// get 24 hours
$hour = strtotime('%H', $start);
if ($hour >= 12) {
// it's PM
$dformat = preg_replace("@%[email protected]", $this->PM, $dformat);
} else {
$dformat = preg_replace("@%[email protected]", $this->AM, $dformat);
}
}
}
$start = strftime($dformat, $node->start);
$search = array(
'/^12:00 ' . $this->AM . '/',
'/^00:00$/', '/^12:00 ' . $this->PM . '/',
'/^12:00$/'
);
$replace = array(
'12:00 ' . $this->getString('Midnight'),
'00:00 ' . $this->getString('Midnight'),
'12:00 ' . $this->getString('Noon'),
'12:00 ' . $this->getString('Noon')
);
$start = preg_replace($search, $replace, $start);
$event->setAttribute('start', $start);
您可以提供您提供您的代碼爲[最小,完整,可驗證的示例](http://stackoverflow.com/help/mcve) ? – manetsus
該評論界面糟透了,打回來換另一行,然後提交。我將在一秒內添加它 –
$ start = strftime($ dformat,$ node-> start); $ search = array('/^12:00'。$ this-> AM。'/','/^00:00 $ /','/^12:00'。$ this-> PM。'/ ','/^12:00 $ /'); $ this-> getString('Midnight'),'00:00'。$ this-> getString('Midnight'),'12:00'。$ this-> getString('Midnight'),'00:00'$ replace = array('12:00'。 getString('Noon'),'12:00'。$ this-> getString('Noon')); $ start = preg_replace($ search,$ replace,$ start); $ event-> setAttribute('start',$ start); $ dformat可以是幾件事情,其中一些包括%p和$ this-> getstring國際化午夜和中午。 –