如何转换时间戳并输入<input type =“date”/>?

时间:2016-08-29 10:26:24

标签: javascript jquery html

我有一个包含我先计算的时间戳值的变量。我需要在日期中转换timestamp变量并将日期放在my:

<input type="date" id="topic_date">

任何人都可以帮助我?

3 个答案:

答案 0 :(得分:1)

尝试以下操作,在从秒开始转换为毫秒后,首先将时间戳解析为日期对象:

function lpad(str, length) {
    var lengthDiff = length - str.length;
    while(lengthDiff > 0) {
        str = '0' + str;
        lengthDiff--;
    }
    return str;
}

var parsedTimestamp = new Date(timestamp * 1000);
document.getElementById('topic_date').value = parsedTimestamp.getFullYear() + '-' + lpad(parsedTimestamp.getMonth(), 2) + '-' + lpad(parsedTimestamp.getDate(), 2);

答案 1 :(得分:0)

日期时间对我来说不适用于chrome,datetime-local允许我从弹出窗口中选择日期和时间。

例如

<input type="datetime-local" name="xyz" value="<?php echo date("Y-m-d\TH:i:s",time()); ?>"/>

time()函数不相关,我用它来让用户轻松选择当前..时间之前或之后。

答案 2 :(得分:0)

@jedifans 我们可以使用 padStart() 来格式化数字。并且月份值从 0 开始,因此我们应该在月份值上加 1。完整代码如下:

const lpad2 = (number) => String(number).padStart(2, "0")
function timeStampToDate(timestamp) {
  let date = new Date(timestamp * 1000)
  return (
    date.getFullYear() + "-" + lpad2(date.getMonth() + 1) + "-" + lpad2(date.getDate())
  )
}