仅以小时格式测量时间

时间:2020-09-28 作者:Sindre Fjellestad

我需要更改此列中的时间格式

以小时为单位,而不是以秒和分钟为单位。这意味着30分钟应在0.5小时内测量,以此类推。

我想我需要编辑这行代码。关于如何将测量更改为仅小时,有什么建议吗?

return human_time_diff(strtotime($item[\'time_login\']), strtotime($item[\'time_last_seen\']));

2 个回复
SO网友:birgire

欢迎使用WPSE。

你可以试着filter 它具有:

add_filter( \'human_time_diff\', \'wpse_hourly_human_time_diff\', 10, 4 );
其中过滤器的回调为。

/**
 * Human time difference in hours only.
 *
 * @param string $since The difference in human readable text.
 * @param int    $diff  The difference in seconds.
 * @param int    $from  Unix timestamp from which the difference begins.
 * @param int    $to    Unix timestamp to end the time difference.
 */
function wpse_hourly_human_time_diff( $since, $diff, $from, $to ){
    return round( $diff / HOUR_IN_SECONDS, 1 );
} 
但您需要控制要在何处应用此筛选器:

remove_filter( \'human_time_diff\', \'wpse_hourly_human_time_diff\', 10 );
以及进一步的限制。

希望你能适应你的需要。

SO网友:CChoma

如果不进行修改,human\\u time\\u diff()函数将无法工作。

下面是一个使用简单PHP的有效解决方案:

$login = \'2020-09-28 10:00:00\';
$last_seen = \'2020-09-28 09:30:00\';

$diff = strtotime($login) - strtotime($last_seen);

$hours = $diff / ( 60 * 60 );

return $hours;

相关推荐

wp editor formatting

我正在编写一个插件,代码如下:$settings = array(\"media_buttons\" => false, \"wpautop\" => false, \"teeny\" => true); wp_editor(\"\", \"viddesc\", $settings); 问题是当我在wp编辑器中粘贴此内容时:<span class=\'infoTitle\'>Nulla mauris justo</span> 然后保存它