在PHP中将时间格式从上午9:00更改为09:00 am

时间:2018-03-22 09:41:14

标签: php

Iam变量值为9:30 am-12:00 pm,即

var obj = {
  "-L8BpxbS70KYrZMQUF0W": {
    "createdAt": "2018-03-22T16:33:57+08:00",
    "email": "ss@ss.ss",
    "name": "ss"
  },
  "-KYrZMQUF0WL8BpxbS70": {
    "createdAt": "2018-03-22T16:33:57+08:00",
    "email": "s2s@ss.ss",
    "name": "ss2"
  }
};

var output = Object.keys(obj).map(s => Object.assign(obj[s], {
  id: s
}));

console.log(output);

我想把它转换为09:30 am - 12:00 pm,我的意思是如果时间有一位数,我需要在数字前面添加0

3 个答案:

答案 0 :(得分:2)

如果您使用date功能,则可以使用h格式化时间。

例如

echo date('h:ia'); // output 09:50am

请参阅Referance

如果您在评论中提到DataBase中的值,则需要在格式化时间之前应用PHP的内置函数strtotime()

例如

echo date( 'h:ia', strtotime('9:30 am') ); // output 09:50am

答案 1 :(得分:1)

假设您将数据库中的时间保存为9:30 am - 12:00pm字符串,则可以将它们拆分。然后格式化每个数据。

$val= "9:30 am - 12:00pm";
$splittedString = explode('-', $val);

$time1 = date('h:ia',strtotime($splittedString[0]));
$time2 = date('h:ia',strtotime($splittedString[1]));

echo $time1." - ".$time2;

答案 2 :(得分:0)

尝试

echo date('h:ia',strtotime("9:30 am"))." - ".date('h:ia',strtotime("12:00pm"));