JS:如何获取时区

JS:如何获取时区,第1张

如果相比 Asia/Shanghai 你更想要 UTC+8 这种格式。那你可以通过获取时区偏移量的方式。

执行 getTimezoneOffset() 方法会返回 UTC 相对于当前时区 的相差分钟数。我们只需要再除以 -60 就得到了小时的偏移量。

我们通常所说的时间戳是指 UTC 时间自 1970 年 1 月 1 日 00 时 00 分 00 秒起经过的毫秒数。

UTC(Universal Time Coordinated),即协调世界时。又称世界统一时间、世界标准时间、国际协调时间。是基于标准的 GMT 提供的准确时间。

*** 作系统鼻祖 Unix 系统于 1971 年发布。为了在 Unix 上表示时间,需要通过当前时间和一个“纪元时间”进行对比,用其间相差的秒数作为时间戳。为了让 Unix 时间戳用的尽可能久,最初就把 1971-1-1 定义成“纪元时间”,后来为了方便记忆和使用,纪元时间从 1971-01-01 调整到了 1970-01-01。

GMT(Greenwich Mean Time),即格林尼治标准时间。格林尼治标准时间指位于伦敦郊区的皇家格林尼治天文台的标准时间,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时的时间。是 19 世纪中叶大英帝国的基准时间,同时也是事实上的世界基准时间。

但是由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差 16 分钟。地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。自 1924 年 2 月 5 日开始,格林尼治天文台每隔一小时会向全世界发放调时信息。而 UTC 是原子钟(是一种计时装置,精度可以达到每 2000 万年误差 1 秒)提供的基于标准的 GMT 提供的准确时间。

参考资料:

时间戳改时间,简单点 alert((new Date("1412849746"))toLocaleDateString())

datesetDate(dategetDate() + 60);//这里的60就是你要加的天数,减也可以。年、月会相应加上去,值得注意的是dategetMonth()得到的月份比实际月份小1,所以实际月份是(dategetMonth()+1)

它的getMilliSeconds也是获取当前时间的毫秒数。所以我们需要自己做一个转换。 可以用getMinutes和getSeconds先获取到相应的分和秒,然后将分601000+秒 1000即可转换了。

Js获取当前日期时间及其它 *** 作

var myDate = new Date();

myDategetYear(); //获取当前年份(2位)

myDategetFullYear(); //获取完整的年份(4位,1970-)

myDategetMonth(); //获取当前月份(0-11,0代表1月)

myDategetDate(); //获取当前日(1-31)

myDategetDay(); //获取当前星期X(0-6,0代表星期天)

myDategetTime(); //获取当前时间(从197011开始的毫秒数)

myDategetHours(); //获取当前小时数(0-23)

myDategetMinutes(); //获取当前分钟数(0-59)

myDategetSeconds(); //获取当前秒数(0-59)

myDategetMilliseconds(); //获取当前毫秒数(0-999)

myDatetoLocaleDateString(); //获取当前日期

var mytime=myDatetoLocaleTimeString(); //获取当前时间

myDatetoLocaleString( ); //获取日期与时间

日期时间脚本库方法列表

DateprototypeisLeapYear 判断闰年

DateprototypeFormat 日期格式化

DateprototypeDateAdd 日期计算

DateprototypeDateDiff 比较日期差

DateprototypetoString 日期转字符串

DateprototypetoArray 日期分割为数组

DateprototypeDatePart 取日期的部分信息

DateprototypeMaxDayOfDate 取日期所在月的最大天数

DateprototypeWeekNumOfYear 判断日期所在年的第几周

StringToDate 字符串转日期型

IsValidDate 验证日期有效性

CheckDateTime 完整日期时间检查

daysBetween 日期天数差

js代码:

//---------------------------------------------------

// 判断闰年

//---------------------------------------------------

DateprototypeisLeapYear = function()

{

return (0==thisgetYear()%4&&((thisgetYear()%100!=0)||(thisgetYear()%400==0)));

}

//---------------------------------------------------

// 日期格式化

// 格式 YYYY/yyyy/YY/yy 表示年份

// MM/M 月份

// W/w 星期

// dd/DD/d/D 日期

// hh/HH/h/H 时间

// mm/m 分钟

// ss/SS/s/S 秒

//---------------------------------------------------

DateprototypeFormat = function(formatStr)

{

var str = formatStr;

var Week = ['日','一','二','三','四','五','六'];

str=strreplace(/yyyy|YYYY/,thisgetFullYear());

str=strreplace(/yy|YY/,(thisgetYear() % 100)>9(thisgetYear() % 100)toString():'0' + (thisgetYear() % 100));

str=strreplace(/MM/,thisgetMonth()>9thisgetMonth()toString():'0' + thisgetMonth());

str=strreplace(/M/g,thisgetMonth());

str=strreplace(/w|W/g,Week[thisgetDay()]);

str=strreplace(/dd|DD/,thisgetDate()>9thisgetDate()toString():'0' + thisgetDate());

str=strreplace(/d|D/g,thisgetDate());

str=strreplace(/hh|HH/,thisgetHours()>9thisgetHours()toString():'0' + thisgetHours());

str=strreplace(/h|H/g,thisgetHours());

str=strreplace(/mm/,thisgetMinutes()>9thisgetMinutes()toString():'0' + thisgetMinutes());

str=strreplace(/m/g,thisgetMinutes());

str=strreplace(/ss|SS/,thisgetSeconds()>9thisgetSeconds()toString():'0' + thisgetSeconds());

str=strreplace(/s|S/g,thisgetSeconds());

return str;

}

//+---------------------------------------------------

//| 求两个时间的天数差 日期格式为 YYYY-MM-dd

//+---------------------------------------------------

function daysBetween(DateOne,DateTwo)

{

var OneMonth = DateOnesubstring(5,DateOnelastIndexOf ('-'));

var OneDay = DateOnesubstring(DateOnelength,DateOnelastIndexOf ('-')+1);

var OneYear = DateOnesubstring(0,DateOneindexOf ('-'));

var TwoMonth = DateTwosubstring(5,DateTwolastIndexOf ('-'));

var TwoDay = DateTwosubstring(DateTwolength,DateTwolastIndexOf ('-')+1);

var TwoYear = DateTwosubstring(0,DateTwoindexOf ('-'));

var cha=((Dateparse(OneMonth+'/'+OneDay+'/'+OneYear)- Dateparse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);

return Mathabs(cha);

}

//+---------------------------------------------------

//| 日期计算

//+---------------------------------------------------

DateprototypeDateAdd = function(strInterval, Number) {

var dtTmp = this;

switch (strInterval) {

case 's' :return new Date(Dateparse(dtTmp) + (1000 Number));

case 'n' :return new Date(Dateparse(dtTmp) + (60000 Number));

case 'h' :return new Date(Dateparse(dtTmp) + (3600000 Number));

case 'd' :return new Date(Dateparse(dtTmp) + (86400000 Number));

case 'w' :return new Date(Dateparse(dtTmp) + ((86400000 7) Number));

case 'q' :return new Date(dtTmpgetFullYear(), (dtTmpgetMonth()) +

Number3, dtTmpgetDate(), dtTmpgetHours(), dtTmpgetMinutes(),

dtTmpgetSeconds());

case 'm' :return new Date(dtTmpgetFullYear(), (dtTmpgetMonth()) +

Number, dtTmpgetDate(), dtTmpgetHours(), dtTmpgetMinutes(),

dtTmpgetSeconds());

case 'y' :return new Date((dtTmpgetFullYear() + Number),

dtTmpgetMonth(), dtTmpgetDate(), dtTmpgetHours(), dtTmpgetMinutes(),

dtTmpgetSeconds());

}

}

//+---------------------------------------------------

//| 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串

//+---------------------------------------------------

DateprototypeDateDiff = function(strInterval, dtEnd) {

var dtStart = this;

if (typeof dtEnd == 'string' )//如果是字符串转换为日期型

{

dtEnd = StringToDate(dtEnd);

}

switch (strInterval) {

case 's' :return parseInt((dtEnd - dtStart) / 1000);

case 'n' :return parseInt((dtEnd - dtStart) / 60000);

case 'h' :return parseInt((dtEnd - dtStart) / 3600000);

case 'd' :return parseInt((dtEnd - dtStart) / 86400000);

case 'w' :return parseInt((dtEnd - dtStart) / (86400000 7));

case 'm' :return (dtEndgetMonth()+1)+((dtEndgetFullYear()-dtStartgetFullYear())12) - (dtStartgetMonth()+1);

case 'y' :return dtEndgetFullYear() - dtStartgetFullYear();

}

}

//+---------------------------------------------------

//| 日期输出字符串,重载了系统的toString方法

//+---------------------------------------------------

DateprototypetoString = function(showWeek)

{

var myDate= this;

var str = myDatetoLocaleDateString();

if (showWeek)

{

var Week = ['日','一','二','三','四','五','六'];

str += ' 星期' + Week[myDategetDay()];

}

return str;

}

//+---------------------------------------------------

//| 日期合法性验证

//| 格式为:YYYY-MM-DD或YYYY/MM/DD

//+---------------------------------------------------

function IsValidDate(DateStr)

{

var sDate=DateStrreplace(/(^\s+|\s+$)/g,''); //去两边空格;

if(sDate=='') return true;

//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''

//数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式

var s = sDatereplace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');

if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D

{

var t=new Date(sDatereplace(/\-/g,'/'));

var ar = sDatesplit(/[-/:]/);

if(ar[0] != tgetYear() || ar[1] != tgetMonth()+1 || ar[2] != tgetDate())

{

//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');

return false;

}

}

else

{

//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');

return false;

}

return true;

}

//+---------------------------------------------------

//| 日期时间检查

//| 格式为:YYYY-MM-DD HH:MM:SS

//+---------------------------------------------------

function CheckDateTime(str)

{

var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;

var r = strmatch(reg);

if(r==null)return false;

r[2]=r[2]-1;

var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);

if(dgetFullYear()!=r[1])return false;

if(dgetMonth()!=r[2])return false;

if(dgetDate()!=r[3])return false;

if(dgetHours()!=r[4])return false;

if(dgetMinutes()!=r[5])return false;

if(dgetSeconds()!=r[6])return false;

return true;

}

//+---------------------------------------------------

//| 把日期分割成数组

//+---------------------------------------------------

DateprototypetoArray = function()

{

var myDate = this;

var myArray = Array();

myArray[0] = myDategetFullYear();

myArray[1] = myDategetMonth();

myArray[2] = myDategetDate();

myArray[3] = myDategetHours();

myArray[4] = myDategetMinutes();

myArray[5] = myDategetSeconds();

return myArray;

}

//+---------------------------------------------------

//| 取得日期数据信息

//| 参数 interval 表示数据类型

//| y 年 m月 d日 w星期 ww周 h时 n分 s秒

//+---------------------------------------------------

DateprototypeDatePart = function(interval)

{

var myDate = this;

var partStr='';

var Week = ['日','一','二','三','四','五','六'];

switch (interval)

{

case 'y' :partStr = myDategetFullYear();break;

case 'm' :partStr = myDategetMonth()+1;break;

case 'd' :partStr = myDategetDate();break;

case 'w' :partStr = Week[myDategetDay()];break;

case 'ww' :partStr = myDateWeekNumOfYear();break;

case 'h' :partStr = myDategetHours();break;

case 'n' :partStr = myDategetMinutes();break;

case 's' :partStr = myDategetSeconds();break;

}

return partStr;

}

使用Date对象可以获取时间相关的信息。

获取当前时间:

var date = new Date();

var year = dategetFullYear();

var month = dategetMonth() + 1;

var day = dategetDate();

var hour = dategetHours();

var minute = dategetMinutes();

var second = dategetSeconds();

alert(year + '-' + month + '-' + day  + ' ' + hour + ':' + minute + ':' + second);

获取一星期前的时间:

var now = new Date();

var date = new Date(nowgetTime() - 7  24  3600  1000);

var year = dategetFullYear();

var month = dategetMonth() + 1;

var day = dategetDate();

var hour = dategetHours();

var minute = dategetMinutes();

var second = dategetSeconds();

alert(year + '-' + month + '-' + day  + ' ' + hour + ':' + minute + ':' + second);

以上就是关于JS:如何获取时区全部的内容,包括:JS:如何获取时区、js如何获得系统时间年月日时分秒、js怎么获得数据库里的时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存