将纪元日期时间文本框值设置为24小时人类日期?

时间:2017-06-08 21:49:00

标签: javascript html datetime momentjs epoch

我有第一个包含纪元日期时间戳的文本框。

因为这种格式不是人类可读的,所以我决定将其设置为只读和隐藏。

从第一个文本框值开始,我想将其纪元值映射到24小时的人类日期,该日期将显示在2sd文本框中。

这是我到目前为止所做的,但它不起作用:

(~gpio_actual_schedule_event~在页面加载时由服务器自动替换为日期时间戳)

HTML

<input type="hidden" value="~gpio_actual_schedule_event~" id="epoch_stamp" readonly >
<input type="text" id="converted_set_next_event" readonly >

在页面加载时,我使用Javascript将日期时间戳转换为人类可读格式:

<script>
function epoch_to_24h_date(){   

var epochdate = new Date(~gpio_actual_schedule_event~ * 1); // multiply by 1000 for milliseconds
var date_string = epochdate.toLocaleString('en-GB');  // 24 hour format         
    }   
</script>

<script>
    window.onload= function(){

          epoch_to_24h_date();  
          document.getElementById('converted_set_next_event').value = date_string;  

        }   
</script>

https://jsfiddle.net/lcoulon/0qw06mjs/

1 个答案:

答案 0 :(得分:2)

date_string变量仅在epoch_to_24h_date函数内可用。你应该退货:

<script>
  function epoch_to_24h_date(){
    var epochdate = new Date(~gpio_actual_schedule_event~ * 1); // multiply by 1000 for milliseconds
    return epochdate.toLocaleString('en-GB');  // 24 hour format         
  }   
</script>

<script>
  window.onload= function(){
    document.getElementById('converted_set_next_event').value = epoch_to_24h_date();  
  }   
</script>