为了账号安全,请及时绑定邮箱和手机立即绑定

将 <div> 元素内的数字输入转换为人类可读的日期

将 <div> 元素内的数字输入转换为人类可读的日期

蝴蝶不菲 2022-06-09 16:06:57
我正在尝试将纪元时间代码转换为人类可读的结构。我在stackoverflow上读到以下代码可以工作:linkvar utcSeconds = 1234567890;var d = new Date(0); // The 0 there is the key, which sets the date to the epochd.setUTCSeconds(utcSeconds);我在一个函数中使用这种方法,该函数在我的 html 文档中的脚本标记内调用,但不知何故我没有以正确的方式做到这一点。我错过了什么?<html>    <head></head>    <body>        <div class="wrapper">            <div class="box window" id="Window"></div>            </div>                    </div>        <script src="https://cdn.jsdelivr.net/npm/web3-min-js@1.0.0/web3.min.js"></script>        <script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>        <script>            var contract;            $(document).ready(function() {                var web3 = new Web3(window.web3.currentProvider)                var contractAddress = "address";                var abi = [abi];                var contract = new web3.eth.Contract(abi, contractAddress);                contract.methods.viewNewestTimestamp().call().then(function(data2) {                    var utcSeconds = data2;                    var d = new Date(data2);                    $('#Window').html(d.utcSeconds(data2));                })            })        </script>    </body></html>对于上下文:我正在调用以太坊上的智能合约。智能合约返回以太坊的“现在”值,它以纪元格式的整数形式出现,意思是这样的:1585727288。我不想显示一个长数字,而是想显示一个可读性好的日期格式。我怎样才能做到这一点?:)
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

你的意思是


toLocaleString、 toLocaleDateString和/或toLocaleTimeString


const d = new Date(1585740129850);


const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'};

console.log(d.toLocaleString('de-DE',options),d.toLocaleTimeString('de-DE'))


console.log(

  d.toLocaleDateString(),

  d.toLocaleTimeString('en-US')

)  


查看完整回答
反对 回复 2022-06-09
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我已经在这里发布了: https ://codepen.io/mxnelles/pen/PoqLyPV


function gd(timestamp) {

  var date = new Date(timestamp * 1000);

  var hours = date.getHours();

  var minutes = "0" + date.getMinutes();

  var seconds = "0" + date.getSeconds();


  var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);


  return formattedTime;

}


$(function() {

  $("#calc").click(function() {

    $("#result").text(gd($("#raw").val()));

  })

})

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div style="padding:30px">

  <input type="text" value="1585740248" id="raw">

  <button id="calc">Convert Time</button>

  <div id="result"></div>

</div>


查看完整回答
反对 回复 2022-06-09
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

兑换:


var utcSeconds = 1585740122250;

var somedate = new Date(utcSeconds);

$('#Window').html(somedate.getUTCSeconds()); // format here

格式:


您可以查看:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString


var somedate = new Date();


// toLocaleDateString() without arguments depends on the implementation,

// the default locale, and the default time zone

console.log(somedate.toLocaleDateString());

// → "12/11/2012" if run in en-US locale with time zone America/Los_Angeles


查看完整回答
反对 回复 2022-06-09
  • 3 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号