我正在尝试将纪元时间代码转换为人类可读的结构。我在 stackoverflow 上读到以下代码可以工作:link
var utcSeconds = 1234567890;
var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96e1f3f4a5bbfbfff8bbfce5d6a7b8a6b8a6" rel="noreferrer noopener nofollow">[email protected]</a>/web3.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fd978c88988f84bdced3c9d3cc" rel="noreferrer noopener nofollow">[email protected]</a>/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。通过显示一个长数字,我想显示一个易于阅读的日期格式。我怎样才能做到这一点? :)
最佳答案
你的意思是这样的
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')
)
关于javascript - 将 <div> 元素内的数字输入转换为人类可读的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60969676/