我想知道我是否可以使用javascript从日期中删除时区?我以json格式获取日期时间,现在我想将其设置回来,但它会返回更多我真正想要/需要的信息。
我现在拥有的是:
var d = new Date();
d.setTime(1432851021000);
document.write(d);
,输出如下:
Thu May 28 2015 16:10:21 GMT-0600 (CST)
我希望只显示一小时,然后删除GMT-0600(CST)。
我知道javascript取决于当前用户的时区,这是一个问题,因为信息可以保存在不同的国家/地区。
我试图避免使用以下内容创建格式:
d.date() + "/" + d.month()...etc
对此有更好的解决方案吗?
答案 0 :(得分:12)
我相信d.toDateString()
会输出您正在寻找的格式。
var d = new Date();
d.setTime(1432851021000);
d.toDateString(); // outputs to "Thu May 28 2015"
d.toGMTString(); //outputs to "Thu, 28 May 2015 22:10:21 GMT"
甚至d.toLocaleString()
“2015年5月28日,下午6:10:21”
答案 1 :(得分:2)
with momentjs
var d = new Date();
d.setTime(1432851021000);
var newdate = moment(d);
alert(newdate.format("MMM DD/MM/YYYY HH:mm:ss "));
答案 2 :(得分:0)
您可以使用2个选项:
1.使用分割功能:d.split(' GMT')。这给你一个阵列
2.获取常用的js数据函数,如getHour和getFullYear等,以根据需要格式化结果。
答案 3 :(得分:0)
答案 4 :(得分:0)
var x = d.toDateString().length;
var result = d.toDateString() + d.toString().substring(x,x+9);
答案 5 :(得分:0)
var date = new Date(myUnixTimestamp*1000);
var prettyDate = date.toLocaleString();
答案 6 :(得分:0)
我创建了一个简单的js函数,以从datetime字符串中删除时区部分。它会给出类似的输出
function removeTimeZonePart(dateString) {
let finalDate = '';
if (dateString.split('+').length > 1) {
let b = dateString.split('+');
finalDate = b[0];
} else {
let b = dateString.split('-');
if (b.length > 1) {
b.pop();
finalDate = b.join('-');
}
}
return finalDate;
}
alert(removeTimeZonePart('2019-07-27T19:00:00.000-0700'));
答案 7 :(得分:0)
我觉得有更好更好的解决方案!
从“日期变量”中提取日期,月份和年份。
现在只需分配一个新变量,例如
您已经准备好了,没有时区的自定义日期已准备就绪!