如何在javascript中以dd-Mon-yyyy格式查看日期?

时间:2014-08-30 07:35:35

标签: java javascript string

首先我使用从java脚本传递数据到动作类但是我想在java脚本中做什么怎么办?

Jsp java脚本:

$('#nwr_fa_dob').keypress(function(event)
       {
          $('#nwr_fa_gender').attr('disabled',false);
         var keycode = (event.keyCode ? event.keyCode :event.which);
         var dob= $('#nwr_fa_dob').val();
         if(keycode == '13' || keycode =='40')
         {
            $.ajax({
                type: "POST",              
                dataType: "json",
                url: "dob_details",
                data: {dob:dob},        
                success: function(response)
                {
                    $('#nwr_fa_dob').val(response.dob);
                    if($('#nwr_fa_dob').val()==null || $('#nwr_fa_dob').val()=='')
                    {
                        alert("You Will Give Age or DateFormat of dd-MMM-yyyy(Ex : 18-Mar-1990)");
                        $('#nwr_fa_dob').val('');
                        $('#nwr_fa_dob').focus();
                        }
                    else
                    {
                        $('#nwr_fa_dob').val(response.dob);
                        $('#nwr_fa_gender').focus();
                        }
                    }
                });
            return false;
            }
         if(keycode=='38'){
             $('#nwr_fa_fsname').focus();
             return false;
             }
         });

Java代码:

public String dob_fetchdate() {
        try {
            if (dob.length() == 11) {
                Date dat = ymd.parse(dob);
                if (ymd.format(dat).equals(dob)) {
                    dob = dob;
                } else {
                dob = null;
                }
            } else if (dob.length() == 10) {
                dob = null;
            } else if (dob.length() == 2) {
                String date = DateNow.substring(7, 11);
                String year = String.valueOf(Long.valueOf(date)
                        - Long.valueOf(dob));
                dob = DateNow.substring(0, 7).concat(year);
            } else {
                dob = null;
            }
            return "success";
        } catch (Exception ex) {
            System.out.println("Dob Error =" + ex);
            return "error";
        }
    }

2 个答案:

答案 0 :(得分:1)

moment.js(http://momentjs.com/)肯定是javascript中日期操作的参考API。 以下是如何在您的案例中使用它的示例:

var userDateString = "30-Aug-2014";
var dateFormat = "DD-MMM-YYYY";
var myMoment = moment(userDateString, dateFormat);
if (myMoment.isValid()) {
    alert ("Date is valid !");
} else {
    alert ("Invalid date !");
}

它还可以告诉您输入日期的错误。

答案 1 :(得分:0)

可以使用javascript中的Regex轻松完成

    var date="01-01-1944";
    var pattern = /[0-9]{2}[-]{1}[0-9]{2}[-]{1}[0-9]{4}/i;

    if(pattern.test(date)) {
        var dateParts = date.split("-");
        // You can do the range checking here
        console.log(dateParts[0]);
        console.log(dateParts[1]);
        console.log(dateParts[2]);
    }

要了解有关JS中Regex的更多信息,请按照this

进行操作

同时阅读此问题的答案Regular Expression to match valid dates