我有一个脚本,打印当前的日期和时间在JavaScript,但日期总是错误的。代码如下:
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
来获得你应该使用的时间和日期
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"
点击这里阅读更多。
这是英国时区的例子。为特定时区设置偏移量。
例如:印度:+05:30,英国:+1
function realUKTime() {
// create Date object for current location
var d = new Date();
offset ='+1';
// convert to msec
// subtract local time zone offset
// get UTC time in msec
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
// create new Date object for different city
// using supplied offset
var nd = new Date(utc + (3600000*offset));
// return time as a string
var s = nd.getSeconds();
var i = nd.getMinutes();
var h = nd.getHours();
var cDate = nd.getDate();
var m = nd.getUTCMonth();
var y = nd.getFullYear();
var newUkTime = nd.toDateString() + " "+ (Number(h)-1)+":"+i+':'+s
$("#realTime").html(newUkTime);
}
setInterval(realUKTime(),1000);
输出::Mon 12月27日2021 12:6:3