我将时间作为Unix时间戳存储在MySQL数据库中,并将其发送给一些JavaScript代码。我怎样才能抽出时间?

例如,HH/MM/SS格式。


当前回答

我也在寻找一个简单、简短的解决方案。这就是我创建这个函数的原因。

您可以轻松扩展功能。此功能具有我所需的所有选项。它基本上与php date函数的作用相同。

函数date_format(unix_timestamp,格式){const date=新日期(unix_timestamp*1000);常量日期对象={'Y':date.getFullYear(),'m':字符串(date.getMonth()).padStart(2,'0'),“d”:字符串(date.getDate()).padStart(2,'0'),'H':字符串(date.getHours()).padStart(2,'0'),'i':字符串(date.getMinutes()).padStart(2,'0'),“s”:字符串(date.getSeconds()).padStart(2,'0'),};var dateString='';for(格式的let字符){if(dateObject中的字符){dateString+=dateObject[char];}其他{dateString+=字符;}}return dateString;}console.log(date_format(1667127654,'H/i/s'));//12/00/54console.log(date_format(1667127654,'Y-m-d H:i:s'));//2022-10-30 12:00:54console.log(日期格式(1667127654,'d.m.Y'));//30.10.2022console.log(date_format(1667127654,'H:i:s'));//12:00:54

其他回答

函数timeConverter(UNIX_timestamp){var a=新日期(UNIX_timestamp*1000);var months=['Jan','Feb','Mar','Pr','May','Jun','Jul','Aug','Step','Oct','Nov','Dec'];var year=a.getFullYear();var month=月[a.getMonth()];var date=a.getDate();var hour=a.getHours();var最小值=a.获取最小值();var sec=a.getSeconds();var time=日期+“”+月份+“”+year+“”“+小时+”:“+分钟+”:”+秒;返回时间;}console.log(timeConverter(0));

使用Moment.js,您可以获得如下时间和日期:

var dateTimeString = moment(1439198499).format("DD-MM-YYYY HH:mm:ss");

而且你只能使用这个:

var timeString = moment(1439198499).format("HH:mm:ss");

UNIX时间戳是自1970年1月1日00:00:00 UTC以来的秒数(根据维基百科)。

Javascript中Date对象的参数是自1970年1月1日00:00:00 UTC以来的毫秒数(根据W3Schools Javascript文档)。

例如,请参见以下代码:

    function tm(unix_tm) {
        var dt = new Date(unix_tm*1000);
        document.writeln(dt.getHours() + '/' + dt.getMinutes() + '/' + dt.getSeconds() + ' -- ' + dt + '<br>');

    }

tm(60);
tm(86400);

给予:

1/1/0 -- Thu Jan 01 1970 01:01:00 GMT+0100 (Central European Standard Time)
1/0/0 -- Fri Jan 02 1970 01:00:00 GMT+0100 (Central European Standard Time)

有多种方法可以将unix时间戳转换为时间(HH/MM/SS)

使用new Date()-这是内置的javascriptmoment包-这是一个著名的节点模块,但这将被弃用。dayjs包-这是最新的快速增长的节点模块之一

使用新日期()

const dateTimeStr = new Date(1504052527183).toLocaleString()
const result = (dateTimeStr.split(", ")[1]).split(":").join("/")
console.log(result)

使用力矩

const moment = require('moment')
const timestampObj = moment.unix(1504052527183);
const result = timestampObj.format("HH/mm/ss")
console.log(result);

使用day.js

const dayjs = require('dayjs')
const result = dayjs(1504052527183).format("HH/mm/ss")
console.log(result);

您可以使用在线时间转换工具检查时间戳到时间的转换

您可以使用以下格式(源代码):

const date = new Date(yourTimestamp).toLocaleDateString('de-DE', {
    weekday: 'long',
    day: '2-digit',
    month: 'long',
    year: 'numeric'
})

结果:

Sonntag, 01. Januar 2023