`
ollevere
  • 浏览: 264665 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JS_日期处理

    博客分类:
  • JS
 
阅读更多

得到当前日期 ,格式“yyyy-MM-dd”

var date = new Date();	
var month = (date.getMonth()+1) < 10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
var day = (date.getDate()) < 10 ? "0"+date.getDate() : date.getDate();
var today = date.getFullYear()+"-"+month+"-"+day;

 

 

JS Date API: http://www.cnblogs.com/jianshao810/archive/2010/09/09/1821861.html

 


var datePattern=/^(\d{4})-(\d{2})-(\d{2})$/;
datePattern.test(trim('2011-12-12')) //正则验证YYYY-MM-DD样式

/*
两个日期比较大小
参数:
fristDate:第一个日期
secondDate:第二个日期
*/
function compareDate(fristDate,secondDate){
if(fristDate==null || fristDate=="" || !datePattern.test(trim(fristDate))){
alert("日期格式不对,必须为YYYY-MM-DD样式。(compareDate)");
return;
}
if(secondDate==null || secondDate=="" || !datePattern.test(trim(secondDate))){
alert("日期格式不对,必须为YYYY-MM-DD样式。(compareDate)");
return;
}
if(fristDate>secondDate) return 1;
else if(fristDate==secondDate) return 0;
else return -1;

}


/**
* 日期增加相应的天数,返回格式为YYYY-MM-DD的字符串
* p_date 格式为:YYYY-MM-DD 或 YYYY/MM/DD
* add_date( '2011-12-12', '3')
**/
function add_date(p_date, p_day){
var new_Date = new Date(p_date.replace(/-/g,"\/"));
var lIntval = parseInt(p_day,10)//间隔
new_Date.setDate(new_Date.getDate() + lIntval)

var yy1 = new_Date.getFullYear(); //注意这个地方一定是 getFullYear 不是 getYear
var mm1 = new_Date.getMonth()+1;
if(mm1<10)
mm1 = "0"+mm1.toString();
var dd1 = new_Date.getDate();
if(dd1<10)
dd1 = "0"+dd1.toString();
return yy1+"-"+mm1+"-"+dd1;
}

//也可以这样处理日期
var selectdate = "2011-11-02";
var sdate = new Date();
sdate.setYear(parseInt(selectdate.substring(0,4)));
sdate.setMonth(parseInt(selectdate.substring(5,7)));
sdate.setDate(parseInt(selectdate.substring(8,10)));

 


1。解决2000问题
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
2。检查日期是否合法
// 当输入参数为isDate(dd,mm,ccyy)时,表示要检查年,月,日
// 当输入参数为isDate(dd,mm) 表示默认年为当前年
// 当输入参数为isDate(dd) 表示默认年,月为当前年月
// 注意输入月份保证在1-12以内。
function isDate (day,month,year) {
var today = new Date();
year = ((!year) ? y2k(today.getYear())year);
month = ((!month) ? today.getMonth():month-1);
if (!day) return false
var test = new Date(year,month,day);
if ( (y2k(test.getYear()) == year) &&
(month == test.getMonth()) &&
(day == test.getDate()) )
return true;
else
return false
}

以下是调用例子:
if (isDate(31,2,1997))
document.write("Valid");
else
document.write("Invalid");

3。如何判断两个日期中的间隔天数
function daysElapsed(date1,date2) {
var difference = Date.UTC(date1.getYear(),date1.getMonth(),date1.getDate(),0,0,0)
- Date.UTC(date2.getYear(),date2.getMonth(),date2.getDate(),0,0,0);
return difference/1000/60/60/24;
}

4。如何将一个下拉列表框中的月份传递到另一页
<FORM>
<SELECT NAME="selectName">
<OPTION>January
<OPTION>February
<OPTION>March
<OPTION>April
<OPTION>May
<OPTION>June
<OPTION>July
<OPTION>August
<OPTION>Spetember
<OPTION>October
<OPTION>November
<OPTION>December
</SELECT>
<INPUT TYPE="BUTTON" VALUE="Go" onClick="window.location.href = ''nextpage.html?'' +
this.form.selectName.options[this.form.selectName.selectedIndex].text">
</FORM>

在nextpage.html中加入下面的代码
<FORM name="formName"><INPUT TYPE="TEXT" name="textName"><FORM>
<SCRIPT LANGUAGE="JavaScript"><
document.formName.textName.value = location.search.substring(1);
//-SCRIPT>

或则:
<SCRIPT LANGUAGE="JavaScript"><
document.write("<FORM><INPUT TYPE=''TEXT'' ");
document.write("VALUE=''"location.search.substring(1)+"FORM>")
//-SCRIPT>

5。如何将一个字符串中的时间和当前时间做比较
<SCRIPT LANGUAGE="JavaScript">
/*其中的日期字符串可有以下格式:
格式 1 : 19970529
格式 2 : 970529
格式 3 : 29/05/1997
格式 4 : 29/05/97
输入参数dateType是1到4的数字,表示使用哪种格式.
*/
<!-
function isitToday(dateString,dateType) {
var now = new Date();
var today = new Date(now.getYear(),now.getMonth(),now.getDate())

if (dateType == 1)
var date = new Date(dateString.substring(0,4),
dateString.substring(4,6)-1,
dateString.substring(6,8));
else if (dateType == 2)
var date = new Date(dateString.substring(0,2),
dateString.substring(2,4)-1,
dateString.substring(4,6));
else if (dateType == 3)
var date = new Date(dateString.substring(6,10),
dateString.substring(3,5)-1,
您所浏览的文章来自86oo.com

dateString.substring(0,2));
else if (dateType == 4)
var date = new Date(dateString.substring(6,8),
dateString.substring(3,5)-1,
dateString.substring(0,2));
else
return false;

if (date.toString() == today.toString())
return true;
else
return false;

}
调用的例子如下:
if (isitToday("19970529",1)) alert(''true''); else alert(''false'');
if (isitToday("970529",2)) alert(''true''); else alert(''false'');
if (isitToday("29/05/1997",3)) alert(''true''); else alert(''false'');
if (isitToday("02/06/97",4)) alert(''true''); else alert(''false'');
//-
</SCRIPT>

6。如何根据一个人的生日计算他的岁数
<SCRIPT LANGUAGE="JavaScript"><
/*其中的日期字符串可有以下格式:
格式 1 : 19970529
格式 2 : 970529
格式 3 : 29/05/1997
格式 4 : 29/05/97
输入参数dateType是1到4的数字,表示使用哪种格式.
*/
function getAge(dateString,dateType) {
var now = new Date();
var today = new Date(now.getYear(),now.getMonth(),now.getDate())
var yearNow = now.getYear();
var monthNow = now.getMonth();

var dateNow = now.getDate();

if (dateType == 1)
var dob = new Date(dateString.substring(0,4),
dateString.substring(4,6)-1,
dateString.substring(6,8));
else if (dateType == 2)
var dob = new Date(dateString.substring(0,2),
dateString.substring(2,4)-1,
dateString.substring(4,6));
else if (dateType == 3)
var dob = new Date(dateString.substring(6,10),
dateString.substring(3,5)-1,
dateString.substring(0,2));
else if (dateType == 4)
var dob = new Date(dateString.substring(6,8),
dateString.substring(3,5)-1,
dateString.substring(0,2));

else
return '''';

var yearDob = dob.getYear();
var monthDob = dob.getMonth();
var dateDob = dob.getDate();

yearAge = yearNow - yearDob;

if (monthNow > monthDob)
var monthAge = monthNow - monthDob;
else {
yearAge--;
var monthAge = 12 + monthNow -monthDob;
}
if (dateNow > dateDob)
var dateAge = dateNow - dateDob;
else {
monthAge--;
var dateAge = 31 + dateNow - dateDob;
}

return yearAge + '' years '' + monthAge + '' months '' + dateAge + '' days'';
}
调用例子
document.write(getAge("19650104",1)+''BR>'')
document.write(getAge("650104",2)+''BR>'')
document.write(getAge("04/01/1965",3)+''BR>'')
document.write(getAge("04/01/65",4)+''BR>'')
//-SCRIPT>

7。如何使用下面的格式dd/mm/yy在网页中显示日期
<SCRIPT LANGUAGE = ''JavaScript''>
<!-
var date = new Date();
var d = date.getDate();
var day = (d < 10) ? ''0'' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? ''0'' + m : m;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;

document.write(day + "/" + month + "/" + year);
//-
</SCRIPT>

8。如何使用下面的格式date month year在网页中显示日期
<SCRIPT LANGUAGE = ''JavaScript''>
<!-
function makeArray() {
for (i = 0; i<makeArray.arguments.length; i++)
this[i + 1] = makeArray.arguments[i];
}

var months = new makeArray(''January'',''February'',''March'',
''April'',''May'',''June'',''July'',''August'',''September'',
''October'',''November'',''December'');

var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;

document.write(day + " " + months[month] + " " + year);
//-
</SCRIPT>

9.如何让我的网页的最近更新日期更易读
<SCRIPT LANGUAGE = ''JavaScript''><
function makeArray0() {
for (i = 0; i<makeArray0.arguments.length; i++)
this[i] = makeArray0.arguments[i];

}
var days = new makeArray0("Sunday","Monday","Tuesday","Wednesday",
"Thursday","Friday","Saturday");
var months = new makeArray0(''January'',''February'',''March'',
''April'',''May'',''June'',''July'',''August'',''September'',
''October'',''November'',''December'');
function nths(day) {
if (day == 1 || day == 21 || day == 31)
return ''st'';
else
if (day == 2 || day == 22)
return ''nd'';
if (day == 3 || day == 23)
return ''rd'';

else return ''th'';
}
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
var last = document.lastModified;
var date = new Date(last);
document.write("Last updated on " + days[date.getDay()] + '' '' +
date.getDate() + nths(date.getDate()) + " " +
months[date.getMonth()] + ", " +
(y2k(date.getYear()) + "."
//-SCRIPT>

10。如何显示到某个特定日期的倒记时
<SCRIPT LANGUAGE="JavaScript"><
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function timeTillDate(whenDay,whenMonth,whenYear) {
var now = new Date();
var thisDay = now.getDate(), thisMonth = now.getMonth() + 1, thisYear = y2k(now.getYear())
var yearsDifference = whenYear - thisYear, monthsDifference = 0, daysDifference = 0, string = '''';

if (whenMonth >= thisMonth) monthsDifference = whenMonth - thisMonth;
else { yearsDifference--; monthsDifference = whenMonth + 12 - thisMonth; }

if (whenDay >= thisDay)daysDifference = whenDay - thisDay;
else {
if (monthsDifference > 0) monthsDifference--;
else { yearsDifference--; monthsDifference+=11; }
daysDifference = whenDay + 31 - thisDay;
}

if (yearsDifference < 0) return '''';

if ((yearsDifference == 0) && (monthsDifference == 0) && (daysDifference == 0))
return '''';

if (yearsDifference > 0) {
string = yearsDifference + '' year'';

if (yearsDifference > 1) string += ''s'';
string += '' '';
}

if (monthsDifference > 0) {
string += monthsDifference + '' month'';
if (monthsDifference > 1) string += ''s'';
string += '' '';
}
if (daysDifference > 0) {
string += daysDifference + '' day'';
if (daysDifference > 1) string += ''s'';
string += '' '';
}

var difference = Date.UTC(now.getYear(),now.getMonth(),now.getDate(),now.getHours(),now.getMinutes(),now.getSeconds())
Date.UTC(now.getYear(),now.getMonth(),now.getDate(),0,0,0);

difference = 1000*60*60*24 - difference;

var hoursDifference = Math.floor(difference/1000/60/60);
difference = difference - hoursDifference*1000*60*60
var minutesDifference = Math.floor(difference/1000/60);
difference = difference - minutesDifference*1000*60
var secondsDifference = Math.floor(difference/1000);

if (hoursDifference > 0) {
string += hoursDifference + '' hour'';
if (hoursDifference > 1) string +=''s'';
string += '' '';
}


if (minutesDifference > 0) {
string += minutesDifference + '' minute'';
if (minutesDifference > 1) string +=''s'';
string += '' '';
}

if (secondsDifference > 0) {
string += secondsDifference + '' second'';
if (secondsDifference > 1) string +=''s'';
string += '' '';
}
return string;
}

调用例子,例如现在到31/12/1999还有多久。
document.write(timeTillDate(31,12,1999));
//-SCRIPT>

11。如何从一个日期中减掉几个小时
<SCRIPT LANGUAGE = ''JavaScript''><
var date = new Date();
var date = new Date(Date.UTC(date.getYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds()) - 5*60*60*1000);

document.write(date);
//-SCRIPT>

12。如何在一个日期中增加几个月后并能够正确显示出来
<SCRIPT LANGUAGE="JavaScript"><
function makeArray() {
for (i = 0; i<makeArray.arguments.length; i++)
this[i + 1] = makeArray.arguments[i];
}
var months = new makeArray(''January'',''February'',''March'',''April'',
''May'',''June'',''July'',''August'',''September'',
''October'',''November'',''December'');
function nths(day) {
if (day == 1 || day == 21 || day == 31) return ''st'';
else if (day == 2 || day == 22) return ''nd'';
else if (day == 3 || day == 23) return ''rd'';
else return ''th'';
}
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function monthsahead(noofmonths) {
var today = new Date();
var date = new Date(today.getYear(),today.getMonth() + noofmonths,today.getDate(),today.getHours(),today.getMinutes(),today.getSeconds())
return date.getDate() + nths(date.getDate()) + '' '' + months[date.getMonth() + 1] + '' '' + y2k(date.getYear())
}

调用例子:
document.write(monthsahead(6));
//-SCRIPT>

 

 

 

 

分享到:
评论

相关推荐

    js.rar_javascript_js_js 日期控件_日期控件

    JavaScript日期控件是用于处理和展示日期选择的一种功能,常见于表单输入或者日历插件中,极大地提高了用户的使用体验。 在JavaScript中,内置的Date对象是处理日期和时间的基础。通过创建Date对象,我们可以获取...

    js__日期控件.rar

    JavaScript日期控件是Web开发中常见的一种交互元素,主要用于用户在网页上选择或输入日期,常见于各种数据录入、事件安排或时间相关的功能。在Web应用程序中,它们提供了一种直观且用户友好的方式来处理日期输入,...

    js_日期控件

    通过理解以上知识点,开发者可以构建出功能强大、用户体验良好的JavaScript日期控件,满足各种应用场景的需求。在实际项目中,选择适合的库、考虑本地化、无障碍性和性能等因素,都是创建高效日期控件的关键步骤。

    js.rar_javascript_js_js 农历_lunar

    这个名为"js.rar_javascript_js_js 农历_lunar"的压缩包包含了一个专门处理中国农历的JavaScript实例。在这个实例中,开发者仅用了一个文件就实现了农历的计算和展示功能,展现了JavaScript的强大灵活性和高效性。 ...

    JS日期时间控件js_date_time.rar

    "js_date_time.rar"可能是一个自定义实现的解决方案,但也可能是基于现有的JavaScript日期时间库,如Bootstrap Datepicker, jQuery UI Datepicker或者Moment.js等。这些库提供了丰富的功能,如语言支持、日期范围...

    JavaScript_日期

    JavaScript中的日期处理是编程中常见的任务之一,尤其是在创建动态网页或者构建用户界面时。JavaScript_日期这个主题涵盖了许多关于在JavaScript中操作日期和时间的知识点。以下是对这些知识点的详细阐述: 1. **...

    HTML5手机移动端时间日期选择插件_在线演示_时间_日期_js特效_js代码_files.zip

    2. **JavaScript和jQuery基础**:这个插件基于JavaScript(可能包括jQuery库)编写,利用JavaScript强大的DOM操作和事件处理能力,实现了动态的日期和时间选择效果。jQuery简化了跨浏览器的DOM操作,使得代码更加...

    日期显示JS代码--年月日-时分秒--农历全部显示.rar_AEWK_JS 日期显示_instrumentout_农历日期

    学习和理解这段代码,可以帮助开发者掌握JavaScript日期处理的高级技巧,以及如何扩展JavaScript的基本功能以满足特定需求。 总的来说,这个压缩包提供了一个实践示例,展示了如何在JavaScript中实现日期和时间,...

    日期时间选择js_calendar

    总的来说,"js_calendar"是一个功能丰富的JavaScript日期时间选择库,它提供了多种选择形式和日期格式,旨在帮助开发者创建直观、易用的日期输入界面。通过深入理解和使用提供的实例文件,开发者可以快速地将这个库...

    JS.rar_javascript 日历_js_日历 java

    3. **日期处理**:使用内置的`Date`对象处理日期和时间,包括获取当前日期、计算月份天数、判断闰年等。 4. **样式设计**:通过CSS为日历添加样式,使其美观且易于使用,例如设置背景色、字体、边框等。 5. **交互...

    dateWeb_日期_date_

    让我们深入探讨一下这个主题,了解关于日期处理在Web开发中的重要性和相关知识点。 1. **JavaScript Date对象**:在Web开发中,JavaScript是最常用的语言之一,它的内置Date对象是处理日期和时间的基础。Date对象...

    js.rar_javascript 日历_js_推荐

    "js.rar_javascript 日历_js_推荐"这个标题表明我们将探讨的是JavaScript实现的日历功能,这在网页开发中非常常见,用于日期选择、事件规划或时间管理等场景。 描述中提到的"几款不错js日历, 个人从网上找到的推荐...

    gsczjlb_日期_

    标题中的“gsczjlb_日期_”很可能是一个项目或文件命名规范,其中“gsczjlb”可能是项目缩写或者特定功能...为了深入理解并使用这些资源,需要具备JSP、JavaScript、Java日期处理、前端UI组件和测试方法等相关技能。

    js组件(树控件_右键菜单_日期控件)

    这里我们关注的是三个常见的JS组件:树控件、右键菜单和日期控件。这些组件在Web应用中有着广泛的应用,可以提升用户体验并简化开发者的工作。 首先,让我们深入了解一下树控件。树控件是一种能够以层级结构展示...

    dateformatjs一个超轻量级的JS日期处理库

    由于 `dateformat.js` 的体积小巧,它可以轻松地与其他 JavaScript 库(如 jQuery、React 或 Angular)集成,以增强日期处理功能,而不会增加太多负担。 ### 7. 开源与社区支持 `dateformat.js` 是开源的,这意味...

    JQ JS javascript 日期多选控件

    在JavaScript中,我们经常使用内置的Date对象来处理日期。Date对象允许我们创建、格式化和比较日期。例如,创建一个新日期实例可以这样写: ```javascript var currentDate = new Date(); ``` 二、jQuery与日期...

    manba一个Javascript日期处理迷你类库

    描述中提到"manba:一个Javascript日期处理迷你类库,超级简洁的日期处理Util,比moment.js小很多。" 这意味着Manba是一个精简的工具集,专注于日期和时间的处理。它的代码量较小,因此加载速度更快,内存占用也更少...

    JavaScript_js特效

    `Date`对象在JavaScript中用于处理日期和时间,`new Date()`用于创建日期实例。 7. **摇奖(Lucky Draw)**:摇奖特效可能涉及到随机数生成和动画效果。`Math.random()`函数用于生成随机数,配合CSS动画或...

    javascript精确计算日期处理金额格式化

    在这种情况下,JavaScript社区开发了许多日期处理库,比如Moment.js、date-fns、Luxon等。这些库提供了更强大的功能,如时区支持、复杂的日期格式化、日期时间的加减操作、日期比较等。例如,Moment.js允许你用`...

    exif-js_2.3.0_exif_信息读取_图片_

    在压缩包的文件名"exif-js_2.3.0_exif.js"中,我们可以推测这是"exif-js"库的一个版本为2.3.0的实现,主要包含一个名为"exif.js"的JavaScript文件。这个文件很可能是库的主入口点,包含了处理和解析EXIF数据的核心...

Global site tag (gtag.js) - Google Analytics