如何从 HH:MM:SS 时间字符串中仅提取 HH:MM 格式的小时和分钟?

How can I extract only hours and minutes in the format HH:MM from a HH:MM:SS time string?

我得到的时间格式如下:

0:18:32

如果我这样做 var_dump() 我得到:

string '0:18:32:���' (length=11)

时间在我的数据库中保存为 18:32:00

我想从中得到 HH:MM 我已经尝试了以下代码,但它没有按预期工作。

$AdmissionTime = strftime("%H:%M" ,$patient['TIME_UNIT_ADM'] );

我在这里错过了什么?

既然你的日期字符串末尾有一些奇怪的字符,你可以只使用 sscanf() combined with vprintf() 从中获取小时和分钟并以你想要的格式显示它:

$str = "0:18:32:���";
vprintf("%02d:%02d", sscanf($str, "%d:%d"));

输出:

00:18