这串js javascript代码要如何修改才能让他在所有时区的电脑上都能统一显示北京时间呢我要用在ecshop上

这串js javascript代码要如何修改才能让他在所有时区的电脑上都能统一显示北京时间呢我要用在ecshop上,第1张

使用世界时来表达就行了,北京时间是第8时区,将世界时加上8小时就是北京时间。

var nowTime = new Date(new Date()getTime()+860601000);

北京时间显示为:

nowTimetoUTCString();

获取年月日全都使用世界时方法:

getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)

getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)

getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)

getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份

getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)

getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)

getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)

getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)

1、new Date(new Date()toLocaleDateString())getTime(),没有 24:00:00 只有23:59:59 加一秒就到 0:00:00 所以别纠结24:00:00。

2、具体步骤:

1)方法一:获取当前时间的Date对象、或者将指定日期时间字符串转换为Date对象,再将Date对象的时、分、秒、毫秒设置为0,再使用getTime()获取时间戳即可。

2)方法二:拼接“2020/10/10”标准格式的日期字符串,“2020/10/10”相当于“2020/10/10 00:00:00”。

3)对于"2012/10/10"格式,不要尝试通过toLocaleDateString()方法获得,toLocaleDateString()函数返回的是基于区域语言设置日期格式,不同电脑返回的格式是有差异的,不同浏览器返回的格式也有差异。也不要用toISOString()方法获得再去提取,toISOString()是基于GMT/UTC时区的,而我们是东八区。

常规的时间处理直接使用 [dayjs](>

javascript 自带有个对象(构造函数),Date()下面是代码:

var myDate = new Date(); //实例一个时间对象;

myDategetFullYear(); //获取系统的年;

myDategetMonth()+1; //获取系统月份,由于月份是从0开始计算,所以要加1

myDategetDate(); // 获取系统日,

myDategetHours(); //获取系统时,

myDategetMinutes(); //分

myDategetSeconds(); //秒

你取到的是服务器在response里面返回的日期!

如果你连接的服务器bjtimecn没有在response响应里给你设置Date,则会取日期初始化的时间,也就是UTC0或者GMT0。

你在var d = new Date(dateStr);之前把dateStr给alert出来看看是否正确?

function curTime(){

var current = new Date();//获取当前时间

var today = new Date(currentgetFullYear()+'/'+(currentgetMonth()+1)+'/'+currentgetDate()+' '+'8:30')//今天的8:30

return parseInt(Mathabs(todaygetTime()-currentgetTime())/1000);//返回当前时间到今天8:30(早上)的时间差(总为正数,若需要正负数都有将Mathabs去掉)

}

不知您具体问的是什么,我就默认是Date对象中的UTC()方法了(如果不是,请联系我,我将继续为您作答)

Date中的UTC()方法是返回1970年1月1日到现在的时间(以毫秒计),

但如果我想要计算一个1970年之前的时间,例如1969年12月31日到现在的时间,则需要两步:

首先将1969年12月31日输入到UTC()方法中(这样返回的是这个更早的日期到1970的负的时间),就比如 DateUTC(1969,11,31)注:这里的月份是从零开始的,“11”就表示12月 返回的是 -86400000 这刚好是一天,只不过是负的。

计算出如上结果后,可以利用Math对象中的abs()方法将其转换为它的绝对值,以此把它变为正数,再用UTC()算出至今的时间,两者相即可。

参考代码:Mathabs(DateUTC(1949,9,1))+DateUTC(2020,1,11)

//以上这段代码可以算出从1949年10月1日到2020年2月11日的时间

要创建一个一个日期对象,可以使用以下的方式:

复制代码

代码如下:

var

now=new

Date()

当然,函数中没有传递任何参数,表示此对象now自动获取了当前的时间。

如果想要创建一个自定义时间的对象,则要对Date()进行参数的传递。而这个参数,必须是毫秒数(UTC时间1970年1月1日午夜起至自定义时间为止的毫秒数)。

我们可以使用Dateparse()和DateUTC()来获得自定义时间的毫秒数。

Dateparse()接收一个表示日期的字符串参数,例如"May

25,2013","6/13/2013"等格式,具体支持的格式因地区而异。

而DateUTC()中接收的参数分别是

年份、从0开始的月份数(0-11)、该月中的第几天(1-31)、小时树(0-23)、分钟、秒、毫秒,其中年份和月份数是必须的,其他参数缺省为0。

我们现在如果想定义一个2013年12月12日的日期对象,可以使用

Dateparse():

var

mydate=new

Date(Dateparse("12/12/2013")),

如果这样:

var

mydate=new

Date("12/12/2013")的话,在构造Date的时候,会自动调用Dateparse()将日期字符串转为毫秒数。

也可以使用DateUTC():

var

mydate=new

Date(DateUTC(2013,11,12)//注意月份下标从0开始,而日的下标从1开始

如果这样:

var

mydate=new

Date(2013,11,12),类似上面parse的构造方法,在构造日期对象的时候,会自动调用DateUTC(),如果第一个参数是数值,将其当成年份,而第二个参数为月份但是要注意的是,前者var

mydate=new

Date(DateUTC(2013,11,12)得到的是GMT时间,而后者var

mydate=new

Date(2013,11,12)得到的是基于系统设置的本地时间。

以上就是关于这串js javascript代码要如何修改才能让他在所有时区的电脑上都能统一显示北京时间呢我要用在ecshop上全部的内容,包括:这串js javascript代码要如何修改才能让他在所有时区的电脑上都能统一显示北京时间呢我要用在ecshop上、js如何返回当天零点的时间戳、dayjs会自动知道在哪个时区嘛等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9438489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存