首页 > 解决方案 > 从日期函数中提取小时和分钟

问题描述

我想将从数据库中提取的时间变量作为 jQuery 中的日期函数传递,并希望从中提取小时和分钟,并将其存储在 javascript 变量中。

var time="<?php echo $row['time']; ?>";
var time=new Date(time);
var hrs=time.getHours();
var min=time.getMinutes();

请查找此代码中是否有任何错误。

标签: javascriptphpjquerydate

解决方案


您需要将来自您的代码的UNIX 时间戳(以秒为单位)转换为毫秒,然后将其作为参数传递给.PHPDate object

考虑下面的JavaScript示例:

//UNIX Timestamp from your PHP code
let timeInUNIXTimeStamp = "1581653281"; 

// Create a new JavaScript Date object based on the timestamp
// Multiplied by 1000 to convert it into milliseconds, from seconds, as Date object works in milliseconds
var date = new Date(timeInUNIXTimeStamp * 1000);

// Get Hours part from the timestamp
var hours = date.getHours();

// Get Minutes part from the timestamp
var minutes = "0" + date.getMinutes();



// Will display time in H:M format
var timeInHMSFormat = hours + ':' + minutes.substr(-2);

console.log(timeInHMSFormat);

您也可以在 PHP 中实现相同的功能,您需要使用该date()函数将 UNIX Timestamp 转换为 H:M 格式,其中第一个参数将是您想要的格式,第二个参数将是您的UNIX Timestamp.

示例:date("h:i", 1581653281);
其中h是小时,在 12 小时格式中
            i是分钟

阅读有关PHP 中 PHP 的 data()函数 Date 函数的移动 在 JavaScript

中 考虑下面的PHP代码:

   var time="<?php echo date('h:i', $row['time']); ?>";

   //Now Split the above string into array
   var timeArray = time.split(":");

   var hours = timeArray[0];
   var minutes = timeArray[1];



有关更多详细信息,请参阅此答案转换 UNIX 时间戳


推荐阅读