从javascript中的日期中删除本地时区?

时间:2015-05-29 17:31:58

标签: javascript datetime

我想知道我是否可以使用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

对此有更好的解决方案吗?

8 个答案:

答案 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”

Date()

有很多方法可供使用

答案 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 "));

http://jsfiddle.net/vynvepak/

答案 2 :(得分:0)

您可以使用2个选项:
1.使用分割功能:d.split(' GMT')。这给你一个阵列 2.获取常用的js数据函数,如getHour和getFullYear等,以根据需要格式化结果。

答案 3 :(得分:0)

由于您想要的部分始终具有固定长度,您可以使用:

d.toString().slice(0, 24)

jsfiddle

答案 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字符串中删除时区部分。它会给出类似的输出

  • 2019-07-27T19:00:00.000-0700 => 2019-07-27T19:00:00.000
  • 2019-09-17T19:00:00.000 + 0100 => 2019-09-17T19:00:00.000

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)

我觉得有更好更好的解决方案!

  1. 从“日期变量”中提取日期,月份和年份。

    • var day = d.getDate(); //得到一天
    • var month = d.getMonth(); //获取月份
    • var year = d.getYear(); //获取年份
  2. 现在只需分配一个新变量,例如

    • var newDate = day +“ /” +(month + 1)+“ /” + year; ////注意,我们正在执行(month + 1),因为在Javascript中,该月的变量从{0-11}开始运行(0:Jan,1:Feb,2:Mar,4:Apr .... 11:Dec)< / li>

您已经准备好了,没有时区的自定义日期已准备就绪!