在这里,我尝试将日期转换为UTC ,然后将相同的 UTC日期转换为新日期。但问题是我没有得到我通过的相同日期。这是我的fiddle
这里我将通过2015年11月2日的日期,即 2015年11月2日,然后将其转换为UTC格式,然后使用新日期将UTC转换为正常日期,但现在它2015年11月1日即<返回> 2015年11月1日。
提前致谢。
var myDate = '11/2/2015';
var myDateObj = new Date(myDate);
console.log('my Date is \n' + myDateObj);
var tempDate = Date.UTC(myDateObj.getFullYear(),myDateObj.getMonth(),myDateObj.getDay());
var utcDate = new Date(tempDate);
console.log('my Date after utc \n' + utcDate);
答案 0 :(得分:1)
getDay()
方法未返回当月的某一天,请参阅js Date.getDay()
所以,您需要通过getDate()
{}获得更多信息,而不是那个,var myDate = '11/2/2015';
var myDateObj = new Date(myDate);
console.log('my Date is \n' + myDateObj);
var tempDate = Date.UTC(myDateObj.getFullYear(),myDateObj.getMonth(),myDateObj.getDate());
var utcDate = new Date(tempDate);
console.log('my Date after utc \n' + utcDate);
Items
答案 1 :(得分:0)
我用过
myDateObj.getDate()
它工作正常,请立即检查。
var myDate = '11/02/2015';
var myDateObj = new Date(myDate);
console.log('my Date is \n' + myDateObj);
console.log('my Date is \n' + myDateObj.getDate());
var tempDate = Date.UTC(myDateObj.getFullYear(),myDateObj.getMonth(),myDateObj.getDate());
var utcDate = new Date(tempDate);
console.log('my Date after utc \n' + utcDate);
答案 2 :(得分:0)
这是因为它首先将日期转换为long值,以毫秒为单位,然后转换为日期,因此可以将11月11日00:00:00视为11月1日23:30:00,因此您也可以在日期中给出时间如下:
var myDate = '11/2/2015 23:00:00';
var myDateObj = new Date(myDate);
console.log('my Date is \n' + myDateObj);
var tempDate = Date.UTC(myDateObj.getFullYear(),myDateObj.getMonth(),myDateObj.getDay(),myDateObj.getHours(),myDateObj.getMinutes(),myDateObj.getSeconds());
var utcDate = new Date(tempDate);
console.log('my Date after utc \n' + utcDate);
答案 3 :(得分:0)
这里我试图将日期转换为UTC,然后将相同的UTC日期转换为新日期。但问题是我没有得到相同的约会日期。
所有Date对象都使用单个UTC时间值,因此它们本身都是UTC,无需将它们“转换”为UTC。
var myDate = '11/2/2015';
var myDateObj = new Date(myDate);
console.log('my Date is \n' + myDateObj);
您不应使用Date构造函数(或Date.parse)来解析字符串,编写小函数或使用库(例如moment.js,fecha.js)。
以下内容(将 getDay 替换为 getDate ):
var tempDate = Date.UTC(myDateObj.getFullYear(),
myDateObj.getMonth(),
myDateObj.getDate());
只是复制日期的一种冗长方式。更简单易用:
var tempDate = new Date(myDateObj);
如果您想获取UTC日期值,请使用UTC方法,例如 myDateObj.getUTCHours , myDateObj.getUTCMinutes 等。
如果您想获得UTC日期和时间,请使用toISOString返回偏移量为0000的值:
// Create a Date for 2 November, 2016
var date = new Date(2016,10,2);
// Copy it
var dateCopy = new Date(date);
// Show local date and time
console.log('Local date and time:\n' + dateCopy.toString());
// Show UTC date and time
console.log('UTC date and time :\n' + dateCopy.toISOString());
// Show UTC Date only
console.log('UTC date only :\n' + dateCopy.toISOString().substr(0,10));