jQuery:以 dd-mm-yyyy 格式添加 4 周至今
jQuery: Add 4 weeks to date in format dd-mm-yyyy
我有一个字符串,它的日期格式为:dd-mm-yyyy
我如何在字符串中添加 4 周,然后使用 jQuery/Javascript 生成一个新字符串?
我有
var d = new Date(current_date);
d.setMonth(d.getMonth() + 1);
current_date_new = (d.getMonth() + 1 ) + '-' + d.getDate() + '-' + d.getFullYear();
alert(current_date_new);
但它抱怨提供的字符串格式不正确
编辑:经过一番摆弄,这是解决方案:
首先,将字符串拆分为各个部分。
var inputString = "12-2-2005";
var dString = inputString.split('-');
然后,将字符串解析为 datetime 对象,并向其添加 28 天(4 周)。
var dt = new Date(dString[2],dString[1]-1,dString[0]);
dt.setDate(dt.getDate()+28);
最后,您可以输出日期
var finalDate = dt.GetDate() + "-" + (dt.GetMonth()+1) + "-" + dt.GetYear();
此代码应返回12-3-2005
.
警告:JavaScript 的 Date 对象似乎将 0-11 作为月份字段,因此代码中的月份为 -1 和 +1。
编辑2:要进行填充,请使用此功能:
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
}
并将输出更改为
var finalDate = pad(dt.GetDate(),2) + "-" + pad(dt.GetMonth()+1,2) + "-" + dt.GetYear();
检查更新的小提琴。
无需转换为 mm-dd-yyyy,只需用减号拆分字符串,并使用以下代码创建新的 Date 对象:
var string = '12-02-2012';
var split = string.split('-');
var date = Date(split[2],parseInt(split[1])-1,parseInt(split[0])+1)
date.setDate(date.getDate() + 28);
var fourWeeksLater = date.getDay() + "-"+date.getMonth() +"-"+date.getYear();
这应该有效:
var formattedDate = '01-01-2012',
dateTokens = formattedDate.split('-'),
dt = new Date(dateTokens[2], parseInt( dateTokens[1], 10 ) - 1, dateTokens[0]), // months are 0 based, so need to add 1
inFourWeeks = new Date( dt.getTime() + 28 * 24 * 60 * 60 * 1000 );
JSFIDDLE: http://jsfiddle.net/uKDJP/
编辑:
使用Globalize,您可以在四周内格式化:
Globalize.format( inFourWeeks, 'dd-MM-yyyy' ) // outputs 29-01-2012
与其为日期编写自己的解析器,我会使用 moment.js。
要解析您的日期:
var date = moment('14-06-2012', 'DD-MM-YYYY');
要增加 4 周:
date.add('weeks', 4);
或一气呵成:
var date = moment('14-06-2012', 'DD-MM-YYYY').add('weeks', 4);
并将其转换为字符串:
var dateString = date.format('DD-MM-YYYY');
相关文章:
- 如何为我的分页添加格式
- TinyMCE:添加复杂格式
- 如何使用yyyymmdd格式在日期中添加n天,但排除周日
- 如何在jQuery日期时间选择器中添加12小时格式
- jquery DataTable 数据格式和警告 - 添加的数据与已知列数不匹配
- 将Curreny格式添加到NoUISlider中
- javascript(angularJS):添加当前时间到日期和格式
- 如何将照片和视频添加到JSON测试格式
- 我想在日期中添加月份,并采用mm/dd/yy格式
- 如何在不强制的情况下添加条件文本?[101,pdf格式]
- 如何为全球 javascript 的数字显示添加格式
- 将自定义格式添加到 joomla 中的 Tinymce 编辑器中
- 数据属性在动态添加时不以所需的格式呈现,不转义双引号
- jQuery:以 dd-mm-yyyy 格式添加 4 周至今
- addClass 的对象格式,使用 jquery 添加文本并删除 li
- 如何将十进制数添加到时间并将其作为时间格式恢复
- 如何向字符串添加连字符(将其格式化为 16 位序列号)
- 将颜色格式添加到 IF ELSE 结果
- 如何使用我的 jQuery 日期选择器脚本添加 dd-mm-yy 的日期格式
- 在绑定元素时从作用域对象添加格式