在JavaScript中获取当前日期和时间
我有一个用JavaScript打印当前日期和时间的脚本,但是DATE
总是错误的。 代码如下:
var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDay() + "/"+currentdate.getMonth()
+ "/" + currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":" + currentdate.getSeconds();
它应该打印18/04/2012 15:07:33
并打印3/3/2012 15:07:33
任何帮助? 谢谢
调用.getMonth()
您需要添加+1以显示正确的月份。 Javascript计数总是从0开始(查看这里查看原因),因此在5
调用.getMonth()
将返回4
而不是5
。
所以在你的代码中,我们可以使用currentdate.getMonth()+1
来输出正确的值。 此外:
.getDate()
返回月份的一天< - 这是你想要的 .getDay()
是Date
对象的一个独立方法,它将返回一个表示当前星期几的整数(0-6) 0 == Sunday
所以你的代码应该看起来像这样:
var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDate() + "/"
+ (currentdate.getMonth()+1) + "/"
+ currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
JavaScript Date实例从Date.prototype继承。 您可以修改构造函数的原型对象以影响由JavaScript Date实例继承的属性和方法
您可以使用原型构造函数的Date
对象,并创建了一个新的方法Date
对象返回今天的日期和时间。 这些新方法或属性将由Date
对象的所有实例继承,因此如果您需要重新使用此功能,它将特别有用。
// For todays date;
Date.prototype.today = function () {
return ((this.getDate() < 10)?"0":"") + this.getDate() +"/"+(((this.getMonth()+1) < 10)?"0":"") + (this.getMonth()+1) +"/"+ this.getFullYear();
}
// For the time now
Date.prototype.timeNow = function () {
return ((this.getHours() < 10)?"0":"") + this.getHours() +":"+ ((this.getMinutes() < 10)?"0":"") + this.getMinutes() +":"+ ((this.getSeconds() < 10)?"0":"") + this.getSeconds();
}
然后,您可以通过执行以下操作简单地检索日期和时间:
var newDate = new Date();
var datetime = "LastSync: " + newDate.today() + " @ " + newDate.timeNow();
或者调用内联方法,以便它简单地 -
var datetime = "LastSync: " + new Date().today() + " @ " + new Date().timeNow();
为了获得时间和日期,你应该使用
new Date().toLocaleString();
>> "09/08/2014, 2:35:56 AM"
只能得到你应该使用的日期
new Date().toLocaleDateString();
>> "09/08/2014"
只得到你应该使用的时间
new Date().toLocaleTimeString();
>> "2:35:56 AM"
或者,如果您只希望时间格式为hh:mm
而没有美国英语的AM / PM格式
new Date().toLocaleTimeString('en-US', { hour12: false,
hour: "numeric",
minute: "numeric"});
>> "02:35"
或英国英语
new Date().toLocaleTimeString('en-GB', { hour: "numeric",
minute: "numeric"});
>> "02:35"
在这里阅读更多。
如果你想真正的MySQL风格日期时间使用这个
2013/10/04 08:51:32
function getDateTime() {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth()+1;
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
if(month.toString().length == 1) {
month = '0'+month;
}
if(day.toString().length == 1) {
day = '0'+day;
}
if(hour.toString().length == 1) {
hour = '0'+hour;
}
if(minute.toString().length == 1) {
minute = '0'+minute;
}
if(second.toString().length == 1) {
second = '0'+second;
}
var dateTime = year+'/'+month+'/'+day+' '+hour+':'+minute+':'+second;
return dateTime;
}
链接地址: http://www.djcxy.com/p/77531.html