jquery将mm/dd/yy的日期转换为yyyy-dd-mm
我收到格式为mm/dd/yy的日期的ajax响应。我怎样才能将其转换为使用jQuery的格式yyyy-mm-dd? jquery是否有内部函数来执行此操作?jquery将mm/dd/yy的日期转换为yyyy-dd-mm
用简单的没有检查输入(JavaScript,没有jQuery):
var d = '01/25/90'; // as an example
var yy = d.substr(6,2);
var newdate = (yy < 90) ? '20' + yy : '19' + yy;
newdate += '-' + d.substr(0,2) + '-' + d.substr(3,2); //1990-01-25
这种事情不是jQuery设计的目的。 jQuery库主要是关于DOM操作的,为编码结构提供了各种优惠。
你需要做的是将传入地址分割为文本并将其重建为符合JavaScript的可解析日期,否则只需从字符串中获取年份,月份和日期并使用javascript“Date ()”构造函数,这些作为数字values.This代码会给你一个日期从您的格式:
此代码会给你从你的格式的日期:
function toDate(str) {
var rv = null;
str.replace(/^(\d\d)\/(\d\d)\/(\d\d)\$/, function(d, yy, mm, dd) {
if (!d) throw "Bad date: " + str;
yy = parseInt(yy, 10);
yy = yy < 90 ? 2000 + yy : 1900 + yy;
rv = new Date(yy, parseInt(mm, 10) - 1, parseInt(dd, 10));
return null;
});
return rv;
}
<script>
$(document).ready(function(){
$("#date").change(function(){
var $d = $(this).val();
var $yy = $d.substr(6,4);
var $dd = $d.substr(3,2);
var $mm = $d.substr(0,2);
var $newdate = $yy + '-' + $mm + '-' + $dd;
$("#date").val($newdate);
});
})
</script>
您的回答应该包含您的代码的说明以及如何解决问题的说明。 – AbcAeffchen 2014-09-22 01:52:11
当你有日历选择器时,你可以使用它,不管你选择什么日期,它会将其格式更改为yyyy-mm-dd – 2014-09-30 22:58:59
如果你只找两年份数字,你打算怎么返回4,如果你不知道它是否是1900年或2000年代做? – mVChr 2011-02-22 22:52:40
@mVChr这是蹩脚的,但通常你会认为大于90(取决于应用程序)的两位数数字是在1900年代,而2位数字年代比在本世纪还小。 – Pointy 2011-02-22 22:59:06