Momentjs如何格式化时区和日期的输出

时间:2017-03-24 16:54:05

标签: javascript momentjs

我想使用time + date + weekday显示:Momentjs。 每个值都应该是不同格式的新div(我会为每个值设置不同的高度) 我怎样才能将其格式化为:

div中的

(时间)

在div2中

(日期)

(工作日)在div3

function showLocalTime(container, zoneString, formatString) {
    var thisobj = this
    this.container = document.getElementById(container)
    this.localtime = moment.tz(new Date(), zoneString)
    this.formatString = formatString
    this.container.innerHTML = this.localtime.format(this.formatString)
    setInterval(function() {
        thisobj.updateContainer()
    }, 1000)
    showLocalTime.prototype.updateContainer = function() {
        this.localtime.second(this.localtime.seconds() + 1)
        this.container.innerHTML = this.localtime.format(this.formatString)
    }
}

<div class="time"><b>Toronto:</b> <span id="toronto"></span></div>
<script type="text/javascript">
    new showLocalTime("toronto", "America/Toronto", "hh:mm:ss A , MMMM Do YYYY, dddd")
</script>

此代码有效,但我将所有结果都放在一行中。我可以添加<br>,但这并不能解决格式化问题。

1 个答案:

答案 0 :(得分:1)

只需将localTime格式化三次:

let now = moment()

div1.innerHTML = now.format( "hh:mm:ss A")
div2.innerHTML = now.format( "MMMM Do YYYY")
div3.innerHTML = now.format( "dddd")
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>


<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>