我制作了一个显示日期和时间的对象。
我想知道如何将时间部分与日期分开,以便我可以将它放在自己的HTML元素中,这样我就可以应用不同的样式了吗?
我不是那么先进的JavaScript,我觉得使用日期对象非常复杂。
LiveDateTime.js
'use strict';
function LiveDateTime(dateEl, options) {
this.dateEl = dateEl;
this.options = options;
this.timestamp;
this.offset;
this.start();
}
LiveDateTime.prototype = {
start: function () {
var now = !this.timestamp ? new Date() : new Date(this.timestamp),
self = this;
(function update() {
self.dateEl.innerHTML = now.toLocaleString(self.options.locale, self.options);
now.setSeconds(now.getSeconds() + 1);
self.timeoutId = setTimeout(update, 1000);
})();
},
stop: function () {
clearTimeout(this.timeoutId);
this.timeoutId = undefined;
}
};
用法
var liveDateTime = new LiveDateTime(document.getElementById('date'), {
locale: 'FR',
weekday: 'long',
day: 'numeric',
month: 'long',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
//output example: vendredi 13 mars 2015 23:14:12
HTML
<span id="date"></span> - <span id="time"></span>
答案 0 :(得分:9)
使用date.toLocaleDateString() 对于日期部分。
和date.toLocaleTimeString() 对于时间部分。
答案 1 :(得分:1)
您可以使用日期可用方法设置日期格式:
var now = new Date()
var date = now.toLocaleDateString();
var time = now.toLocaleTimeString();
alert(date + ' ' + time)
&#13;
答案 2 :(得分:0)
我用JavaScript不是那么先进,而且我觉得使用日期对象非常复杂。
在JS中使用日期可能确实很复杂且令人沮丧。但是,通过使用momentjs
这样的库,这可能是一种乐趣以便根据需要格式化日期:
moment().format('dddd Do MMMM YYYY'); // vendredi 13 mars 2015 (with FR locale)
// Friday 13th March 2015 (with EN locale)
获得时间:
moment().format('H:mm:ss'); // 23:36:15
这些只是图书馆可能性的一小部分。
有关其他格式设置模式,请参阅this table of the documentation
答案 3 :(得分:0)
您可以使用javascript&#39; split()
方法
var date = liveDateTime.split(" ");
var weekday = date[0];
var day = date[1];
var month = date[2];
var year = date[3];
var time = date[4].split(":");
var hour = time[0];
var minute = time[1];
var second = time[2];