zoukankan
html css js c++ java
Js获取当前日期时间及其它操作
24var myDate =
new
Date();
myDate.getYear();
//获取当前年份(2位)
myDate.getFullYear();
//获取完整的年份(4位,1970-????)
myDate.getMonth();
//获取当前月份(0-11,0代表1月)
myDate.getDate();
//获取当前日(1-31)
myDate.getDay();
//获取当前星期X(0-6,0代表星期天)
myDate.getTime();
//获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();
//获取当前小时数(0-23)
myDate.getMinutes();
//获取当前分钟数(0-59)
myDate.getSeconds();
//获取当前秒数(0-59)
myDate.getMilliseconds();
//获取当前毫秒数(0-999)
myDate.toLocaleDateString();
//获取当前日期
var
mytime=myDate.toLocaleTimeString();
//获取当前时间
myDate.toLocaleString( );
//获取日期与时间
日期时间脚本库方法列表
Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差
js代码:
//---------------------------------------------------
// 判断闰年
//---------------------------------------------------
Date.prototype.isLeapYear =
function
()
{
return
(0==
this
.getYear()%4&&((
this
.getYear()%100!=0)||(
this
.getYear()%400==0)));
}
//---------------------------------------------------
// 日期格式化
// 格式 YYYY/yyyy/YY/yy 表示年份
// MM/M 月份
// W/w 星期
// dd/DD/d/D 日期
// hh/HH/h/H 时间
// mm/m 分钟
// ss/SS/s/S 秒
//---------------------------------------------------
Date.prototype.Format =
function
(formatStr)
{
var
str = formatStr;
var
Week = [
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
];
str=str.replace(/yyyy|YYYY/,
this
.getFullYear());
str=str.replace(/yy|YY/,(
this
.getYear() % 100)>9?(
this
.getYear() % 100).toString():
'0'
+ (
this
.getYear() % 100));
str=str.replace(/MM/,
this
.getMonth()>9?
this
.getMonth().toString():
'0'
+
this
.getMonth());
str=str.replace(/M/g,
this
.getMonth());
str=str.replace(/w|W/g,Week[
this
.getDay()]);
str=str.replace(/dd|DD/,
this
.getDate()>9?
this
.getDate().toString():
'0'
+
this
.getDate());
str=str.replace(/d|D/g,
this
.getDate());
str=str.replace(/hh|HH/,
this
.getHours()>9?
this
.getHours().toString():
'0'
+
this
.getHours());
str=str.replace(/h|H/g,
this
.getHours());
str=str.replace(/mm/,
this
.getMinutes()>9?
this
.getMinutes().toString():
'0'
+
this
.getMinutes());
str=str.replace(/m/g,
this
.getMinutes());
str=str.replace(/ss|SS/,
this
.getSeconds()>9?
this
.getSeconds().toString():
'0'
+
this
.getSeconds());
str=str.replace(/s|S/g,
this
.getSeconds());
return
str;
}
//+---------------------------------------------------
//| 求两个时间的天数差 日期格式为 YYYY-MM-dd
//+---------------------------------------------------
function
daysBetween(DateOne,DateTwo)
{
var
OneMonth = DateOne.substring(5,DateOne.lastIndexOf (
'-'
));
var
OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf (
'-'
)+1);
var
OneYear = DateOne.substring(0,DateOne.indexOf (
'-'
));
var
TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf (
'-'
));
var
TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf (
'-'
)+1);
var
TwoYear = DateTwo.substring(0,DateTwo.indexOf (
'-'
));
var
cha=((Date.parse(OneMonth+
'/'
+OneDay+
'/'
+OneYear)- Date.parse(TwoMonth+
'/'
+TwoDay+
'/'
+TwoYear))/86400000);
return
Math.abs(cha);
}
//+---------------------------------------------------
//| 日期计算
//+---------------------------------------------------
Date.prototype.DateAdd =
function
(strInterval, Number) {
var
dtTmp =
this
;
switch
(strInterval) {
case
's'
:
return
new
Date(Date.parse(dtTmp) + (1000 * Number));
case
'n'
:
return
new
Date(Date.parse(dtTmp) + (60000 * Number));
case
'h'
:
return
new
Date(Date.parse(dtTmp) + (3600000 * Number));
case
'd'
:
return
new
Date(Date.parse(dtTmp) + (86400000 * Number));
case
'w'
:
return
new
Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
case
'q'
:
return
new
Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case
'm'
:
return
new
Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case
'y'
:
return
new
Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
}
}
//+---------------------------------------------------
//| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串
//+---------------------------------------------------
Date.prototype.DateDiff =
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
(dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
case
'y'
:
return
dtEnd.getFullYear() - dtStart.getFullYear();
}
}
//+---------------------------------------------------
//| 日期输出字符串,重载了系统的toString方法
//+---------------------------------------------------
Date.prototype.toString =
function
(showWeek)
{
var
myDate=
this
;
var
str = myDate.toLocaleDateString();
if
(showWeek)
{
var
Week = [
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
];
str +=
' 星期'
+ Week[myDate.getDay()];
}
return
str;
}
//+---------------------------------------------------
//| 日期合法性验证
//| 格式为:YYYY-MM-DD或YYYY/MM/DD
//+---------------------------------------------------
function
IsValidDate(DateStr)
{
var
sDate=DateStr.replace(/(^\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 = sDate.replace(/[\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(sDate.replace(/\-/g,
'/'
));
var
ar = sDate.split(/[-/:]/);
if
(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
{
//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 = str.match(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
(d.getFullYear()!=r[1])
return
false
;
if
(d.getMonth()!=r[2])
return
false
;
if
(d.getDate()!=r[3])
return
false
;
if
(d.getHours()!=r[4])
return
false
;
if
(d.getMinutes()!=r[5])
return
false
;
if
(d.getSeconds()!=r[6])
return
false
;
return
true
;
}
//+---------------------------------------------------
//| 把日期分割成数组
//+---------------------------------------------------
Date.prototype.toArray =
function
()
{
var
myDate =
this
;
var
myArray = Array();
myArray[0] = myDate.getFullYear();
myArray[1] = myDate.getMonth();
myArray[2] = myDate.getDate();
myArray[3] = myDate.getHours();
myArray[4] = myDate.getMinutes();
myArray[5] = myDate.getSeconds();
return
myArray;
}
//+---------------------------------------------------
//| 取得日期数据信息
//| 参数 interval 表示数据类型
//| y 年 m月 d日 w星期 ww周 h时 n分 s秒
//+---------------------------------------------------
Date.prototype.DatePart =
function
(interval)
{
var
myDate =
this
;
var
partStr=
''
;
var
Week = [
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
];
switch
(interval)
{
case
'y'
:partStr = myDate.getFullYear();
break
;
case
'm'
:partStr = myDate.getMonth()+1;
break
;
case
'd'
:partStr = myDate.getDate();
break
;
case
'w'
:partStr = Week[myDate.getDay()];
break
;
case
'ww'
:partStr = myDate.WeekNumOfYear();
break
;
case
'h'
:partStr = myDate.getHours();
break
;
case
'n'
:partStr = myDate.getMinutes();
break
;
case
's'
:partStr = myDate.getSeconds();
break
;
}
return
partStr;
}
//+---------------------------------------------------
//| 取得当前日期所在月的最大天数
//+---------------------------------------------------
Date.prototype.MaxDayOfDate =
function
()
{
var
myDate =
this
;
var
ary = myDate.toArray();
var
date1 = (
new
Date(ary[0],ary[1]+1,1));
var
date2 = date1.dateAdd(1,
'm'
,1);
var
result = dateDiff(date1.Format(
'yyyy-MM-dd'
),date2.Format(
'yyyy-MM-dd'
));
return
result;
}
//+---------------------------------------------------
//| 取得当前日期所在周是一年中的第几周
//+---------------------------------------------------
Date.prototype.WeekNumOfYear =
function
()
{
var
myDate =
this
;
var
ary = myDate.toArray();
var
year = ary[0];
var
month = ary[1]+1;
var
day = ary[2];
document.write(
'< script language=VBScript\> \n'
);
document.write(
'myDate = DateValue('
'+month+'
-
'+day+'
-
'+year+'
') \n'
);
document.write(
'result = DatePart('
ww
', myDate) \n'
);
document.write(
' \n'
);
return
result;
}
//+---------------------------------------------------
//| 字符串转成日期类型
//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd
//+---------------------------------------------------
function
StringToDate(DateStr)
{
var
converted = Date.parse(DateStr);
var
myDate =
new
Date(converted);
if
(isNaN(myDate))
{
//var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';
var
arys= DateStr.split(
'-'
);
myDate =
new
Date(arys[0],--arys[1],arys[2]);
}
return
myDate;
}
实际页面应用
function
display() {
var
weekName=
new
Array(
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
);
//将中文星期表示方法保存在数组weekName中
var
today=
new
Date();
//以当前时间和日期来创建DATE对象 var time=today.toLocaleString();//按本地计算机设置获取当前系统日期及时间
var
week=weekName[today.getDay()];//
获取当前日期对应的中文星期;
var
listdate=
"当前操作员:【"
+
''
+
"】"
+
''
+
""
+
"当前时间:"
+time+
" 星期"
+week;
//定义显示方式
document.getElementById(
"clock"
).innerHTML=listdate; setTimeout(
"display()"
,1000);
//每一秒重新运行一下DISPLAY() }
查看全文
相关阅读:
北京清北 综合强化班 Day1
Noip2015 提高组 Day1
Noip2016 提高组 Day2 T1 组合数问题
2017.9.23 NOIP2017 金秋杯系列模拟赛 day1 T1
[51NOD1103] N的倍数(鸽笼原理)
[51NOD1420] 数袋鼠好有趣(贪心)
[CF808A] Lucky Year(规律)
[CF808B] Average Sleep Time([强行]树状数组,数学)
[CF808C] Tea Party(贪心)
[CF808D] Array Division(暴力,枚举)
原文地址:https://www.cnblogs.com/1011004519/p/1441842.html
最新文章
pyplot基本绘制(二)
用脚本新增用户 分配职责 修改密码
User Managerment 职责不能使用的问题
(转)解决在创建银行帐户,输入帐户拥有人时找不到法人实体的问题
物料搬运单 相关
R12月末关帐的异常检查和处理
Oracle11.2新特性之listagg函数 (行列转换)
po line received is canceled(恢复PO被取消的余量)
Script to set the Purchase Order Status to ‘OPEN’(将采购订单重新打开)
oracle ebs 采购订单关闭之PL/SQL实现方法
热门文章
除了Google,你还应该试试的8个搜索引擎
js视频学习笔记1
设置浏览器让js报错
Web 开发最有用的50款 jQuery 插件集锦——《综合篇》
推荐25个帮助你提高技能的 CSS3 实战教程
不要让所谓的经验欺骗了你
Java类的基本运行顺序
按值传递还是按引用传递
java中参数传递实例
北京清北 综合强化班 Day2
Copyright © 2011-2022 走看看