javascript - 更改日期格式以识别日期和月份?

标签 javascript html

function date()
{
   var myDate=new Date(document.getElementById('date').value); //get the date from a textfield
var day=myDate.getDate();
    var month=myDate.getMonth()+1;
var yr=myDate.getFullYear();

      if(dateformat=="dd/mm/yyyy")         //checking the date format //
      {

        document.getElementById('date').value=day + "/" + month + "/" + yr;
      }
    else
     { 

     document.getElementById('date').value=month+"/"+day + "/" +yr;
     }
   }

这个onchange函数写在文本框日期的onchange方法中,在改变文本框时它应该改变默认设置的日期格式。

如果 dd/mm/yyy 是格式,则将其更改为该格式,如果是 mm/dd/yyy,则将其更改为该格式。我的代码进行更改, 但它无法识别哪个月份!

例如.. 如果日期格式为 mm/dd/yyy 并且我将日期键入为 11/01/2001' (NOV -1 2001) 它更改为01/11/2011`,这是不应该做的。 但是如果我输入 01-11-2001(2001 年 1 月 1 日),输入是正确的,但它会变为 11/01/2001

我怎样才能更改代码来纠正这个问题???请帮忙!!!

最佳答案

Demo Fiddle
Javascript 代码

function dateChange() {
    var e = document.getElementById("dateformat");
    var dateformat = e.options[e.selectedIndex].text;
    var myDate;
    if (dateformat == "dd/mm/yyyy") //checking the date format //
    {
        var value = document.getElementById('date').value;
        var format = value.split("/");
        myDate = new Date(format[2], format[1] - 1, format[0]);
        var day = myDate.getDate();
        var month = myDate.getMonth() + 1;
        var yr = myDate.getFullYear();
        document.getElementById('date').value = day + "/" + month + "/" + yr;
    } else {
        myDate = new Date(document.getElementById('date').value);
        var day = myDate.getDate();
        var month = myDate.getMonth() + 1;
        var yr = myDate.getFullYear();
        document.getElementById('date').value = month + "/" + day + "/" + yr;
    }
    document.getElementById('dateStr').innerHTML = myDate.toDateString();
}  

在下拉列表中输入日期 01/02/2014mm/dd/yyyy 日期将是 Thu Jan 02 2014,现在只需将下拉列表更改为 dd/mm/yyyy 日期将是 Sat Feb 01 2014

实例化 Javascript 的 Date 对象需要这种格式 new Date(yyyy,mm,dd),所以当你使用 dd/mm/yyyy 时你需要手动转换dd & mm 值...
Reference

关于javascript - 更改日期格式以识别日期和月份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24033897/

相关文章:

javascript - Angularjs 在 ng-repeat 中检查商品库存消息,在右侧商品索引中显示消息

html - 将自定义单选按钮与顶部选项内容对齐

html - 使用 iFrame 或 <object> 加载 html 文件,但限制从 URL 直接访问

jquery - 每 5 秒翻转一次图像

javascript - 在 NodeJS 的 required() 所需的脚本内使用函数

javascript - JS错误: <parameter>.包含不是一个函数,不知道为什么

javascript - 使用 Javascript 在 Span 标签内动态插入链接

javascript - 如何在 Chrome 中编辑实时 TypeScript 代码?

html - 如何在不隐藏第一个的情况下推出第一个 <li> 元素并显示第二个?

html - 将 div 置于其他两个具有自动高度的 div 之上