javascript 操作日期 测试(注意浏览器兼容问题)

简介: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> &

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>javas

cript 操作日期 测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<META HTTP-EQUIV="REFRESH" CONTENT="11; URL=http://www.dusystem.com/index.htm"> 2006-03-12 designer Geovin Du-->
<metaname="description"content="涂聚文,缔友计算机信息技术有限公司,经营信息流,物流,人力资源流,资本流的系统解决方案的开发与设计和服务,geoVIstudio.Geovin Du. Systems Solution to Fund flow,and Informationflow,and Material flow,and Control flow,and Human Resource.Appliedsoftware development,design and service。.">
<meta name="description" content="Study,Communicate。 ">
<meta name="Robots" content="all index follow ">
<meta name="Author" content="涂聚文" />
<link rel="shortcut icon" href="http://www.dusystem.com/favicon.ico" type="image/x-icon" />
<link rel="icon" href="http://www.dusystem.com/favicon.ico" type="image/ico" />
<link rel="Bookmark" href="http://www.dusystem.com/favicon.ico">
  <script language="JavaScript">
//此代碼,在IE6上不兼容,FireFox可以。
  function DateAdd(strInterval, NumDay, dtDate) {

  var dtTmp = new Date(dtDate);

  if (isNaN(dtTmp)) dtTmp = new Date();

  switch (strInterval) {

  case "s":

  dtTmp = new Date(Date.parse(dtTmp) + (1000 * parseInt(NumDay)));

  break;

  case "n":

  dtTmp = new Date(Date.parse(dtTmp) + (60000 * parseInt(NumDay)));

  break;

  case "h":

  dtTmp = new Date(Date.parse(dtTmp) + (3600000 * parseInt(NumDay)));

  break;

  case "d":

  dtTmp = new Date(Date.parse(dtTmp) + (86400000 * parseInt(NumDay)));

  break;

  case "w":

  dtTmp = new Date(Date.parse(dtTmp) + ((86400000 * 7) * parseInt(NumDay)));

  break;

  case "m":

  dtTmp = new Date(dtTmp.getFullYear(),(dtTmp.getMonth())+parseInt(NumDay), dtTmp.getDate(), dtTmp.getHours(),dtTmp.getMinutes(), dtTmp.getSeconds());

  break;

  case "y":

  //alert(dtTmp.getFullYear());

  dtTmp = new Date(dtTmp.getFullYear()+parseInt(NumDay),dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(),dtTmp.getMinutes(), dtTmp.getSeconds());

  //alert(dtTmp);

  break;

  }

  var mStr=new String(dtTmp.getMonth()+1);

  var dStr=new String(dtTmp.getDate());

  if (mStr.length==1){

  mStr="0"+mStr;

  }

  if (dStr.length==1){

  dStr="0"+dStr;

  }
   //這個日期年份,一定要用getFullYear(),這樣兼容所有瀏覽器。寫軟件的人員,一定要自己測試一下。否則,日期顯示無效 塗聚文注
  return dtTmp.getFullYear()+"-"+mStr+"-"+dStr;

  }

  </script>

  <script language="JavaScript">

  function calculate(type)

  {

  var entry = document.getElementById(type).value;//自己判断是否合法

  var uValue=document.form.u.value;

  uValue=uValue.replace("-","/").replace("-","/");

  //alert(uValue);


//document.form.age1.value=age;

  document.form.twice.value = DateAdd(type,entry,uValue);

  }
function strToDate(str)
{
  var val=Date.parse(str);
  var newDate=new Date(val);
  return newDate;
}
function strToDate1(str)
{
  var arys= new Array();
  arys=str.split('-');
  var newDate=new Date(arys[0],arys[1],arys[2]);
  return newDate;
}
 function agedem()
 {
 
 var age,d,f,g,s,k,t,h;
d=new Date();
age=d.getFullYear();
s=new Date();
s=s.getUTCDay();
document.form.age3.value=s;
k=new Date();
k=k.getDay();
document.form.age4.value=k;
g=new Date();
f=g.getUTCFullYear();
document.form.age2.value=f;
t=document.form.u.value;
//用以替换FireFox浏览器不兼容的日期格式  否則,日期顯示無效 涂聚文
t=t.replace("-","/").replace("-","/");
  //t=str.split('-');
 // t=Date.parse(t);
h=new Date(t)
 // h=new Date(t[0],t[1],t[2]);
 
  h=h.getFullYear();
document.form.age5.value=h;
//计算年份差
document.form.age6.value=f-h
//alert(f);
}  

var nextYear = new Date(); // 初始化日期对象
  
nextyear.setYear(nextYear.getYear() + 1); // 增加1年
</script>
<script type="text/javascript">

<!--

var m_names = new Array("January", "February", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December");

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
document.write(curr_date + "-" + m_names[curr_month]
+ "-" + curr_year);

/* The last two lines above have
to placed on a single line */

//-->
</script>
<html>
<head>
    <title>Javascript Convert String to Date</title>
</head>
<body>

<script type="text/javascript">

var dateString = "03-20-2008";  //因为前面作了条件考虑,可以兼容
 // var dateString = "03/20/2008";  mm/dd/yyyy [IE, FF]
// You can also try the following Date string formats
// var dateString = "2008/03/20";  // yyyy/mm/dd [IE, FF]
// var dateString = "03-20-2008";  // mm-dd-yyyy [IE only]
// var dateString = "March 20, 2008";  // mmmm dd, yyyy [IE, FF]
// var dateString = "Mar 20, 2008";  // mmm dd, yyyy [IE, FF]

// Initalize the Date object by passing the date string variable
var myDate = new Date(dateString);

// get Date part from the date string
document.write("Date : " + myDate.getDate());
document.write("<br>");

// get Month part from the date string
document.write("Month : " + myDate.getMonth());
document.write("<br>");

// get Full Year from the date string
document.write("Year : " + myDate.getFullYear());
</script>

</body>
</html>
</head>

<body bgcolor="#FFFFFF">
<form name="form"  action="" method="post"><TR>

      <TD>要加的日期2:</TD>

      <TD><input type="text" name="u" value="2005-03-20" onblur="agedem()" onclick="agedem()"></TD>

      </TR>

      <TR>

      <TD>结果2:</TD>

     <TD><input name="twice"><br><inputname="age1"><input name="age2"/><inputname="age3"/><input name="age4"/><inputname="age5"/>日期差(年龄)<input name="age6"/></TD>

      </TR>--&gt;   </TABLE>

      </form>
</body>
</html>
目录
相关文章
|
4天前
|
JavaScript
浏览器插件crx文件--JS混淆与解密
浏览器插件crx文件--JS混淆与解密
11 0
|
24天前
|
JavaScript 前端开发 UED
JS:如何获取浏览器窗口尺寸?
JS:如何获取浏览器窗口尺寸?
36 1
|
1月前
|
JavaScript 前端开发
JavaScript操作DOM元素
JavaScript操作DOM元素
12 1
|
1月前
|
JavaScript 前端开发
如何使用 JavaScript 操作 DOM?
如何使用 JavaScript 操作 DOM?
13 0
|
1月前
|
JavaScript
JS设置日期为0时0分0秒
项目中经常要给设置默认值,搜索从哪天开始,这时候,如果直接通过new Date()来获取时间,会有时分秒,如果快速设置为0时0分0秒?
27 0
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
【2月更文挑战第13天】《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程) 上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。
66 1
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
【2月更文挑战第12天】《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程) 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。
44 1
|
4天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
8天前
|
JavaScript 前端开发
JavaScript如何获得浏览器的宽高
JavaScript如何获得浏览器的宽高
|
9天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
37 0