[英]How can I get the AM/PM in this PHP code to work correctly?
我在網站的后端有一個表單來創建事件。 用戶為事件選擇日期、時間和上午或下午。 這是正常工作的,但是一旦用戶提交數據,在某些涉及 12:00 的情況下,PM 就會在前面更改為 AM。 我相信這與日期有關...原因是,如果我嘗試創建一個從下午 12:00 開始到晚上 9:00 結束的事件,它將自動將下午 12:00 更改為上午。
如果我嘗試創建一個開始時間為上午 12:00 和結束時間為上午 9:00 的事件,它會將上午 12:00 更改為下午。 服務器上的日期有問題嗎?
在數據庫中,12:00 AM 00:00:00 和 PM 12:00:00 的時間存儲如下,這是正確的。
這是代碼:
// Add a new event.
if (isset($_POST['add-event-submit']))
{
$upload_ext = pathinfo('../globals/uploads/events/'.basename($_FILES['event-image']['name']),PATHINFO_EXTENSION);
$upload_name = 'image-'.date('mdyHis').uniqid().'.'.$upload_ext;
$upload_path = '../globals/uploads/events/'.$upload_name;
$event_name = iconv('UTF-8', 'ASCII//TRANSLIT', $_POST['event-name']);
$event_type = iconv('UTF-8', 'ASCII//TRANSLIT', $_POST['event-type']);
$event_description = iconv('UTF-8', 'ASCII//TRANSLIT', $_POST['event-description']);
$event_image = $upload_name;
$event_start_date = date('Y-m-d', strtotime($_POST['event-start-date']));
$event_end_date = date('Y-m-d', strtotime($_POST['event-end-date']));
$event_start_ampm = $_POST['event-start-ampm'];
if ($event_start_ampm == 'am') { $event_start_time = date('h:i:s', strtotime($_POST['event-start-time'])); }
if ($event_start_ampm == 'pm') { $event_start_time = date('H:i:s', strtotime($_POST['event-start-time']) + 43200); }
$event_full_start = $event_start_date.' '.$event_start_time;
$event_end_ampm = $_POST['event-end-ampm'];
if ($event_end_ampm == 'am') { $event_end_time = date('h:i:s', strtotime($_POST['event-end-time'])); }
if ($event_end_ampm == 'pm') { $event_end_time = date('H:i:s', strtotime($_POST['event-end-time']) + 43200); }
$event_full_end = $event_end_date.' '.$event_end_time;
我應該使用這樣的東西嗎(即使這必須是一種解決方法):
$time = $_POST['event-start-time'];
$am = 'am';
$pm = 'pm';
$time_code = $time . $am; //add am or pm depending on user selection
$event_start_time = date('h:i a', strtotime($time_code));
所以事實證明我找錯了地方! 我剛剛在下拉菜單中更新了 12:00 的值。 它被設置為 12:00 而不是 00:00,這是添加 12 小時 (+4300) 時忽略計算的原因。 它現在工作正常!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.