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>
目录
相关文章
|
2月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
18天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
162 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
2月前
|
移动开发 JavaScript 前端开发
一些处理浏览器兼容性问题的JavaScript库
这些库在处理浏览器兼容性问题方面都有着各自的特点和优势,可以根据具体的需求和项目情况选择合适的库来使用,从而提高代码的兼容性和稳定性,为用户提供更好的体验。同时,随着浏览器技术的不断发展,还需要持续关注和学习新的兼容性解决方案。
116 48
|
2月前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
2月前
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
|
2月前
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
57 1
|
2月前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
399 9
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
254 1
|
2月前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
2月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
149 1