我有这个字符串:如何从字符串中删除子字符串?
27/06/2016
或:
15/10/2005
我需要转换上面的字符串到这一点:
27/06/16
或
15/10/05
如何CA ñ我在Javascript中实现它?
我有这个字符串:如何从字符串中删除子字符串?
27/06/2016
或:
15/10/2005
我需要转换上面的字符串到这一点:
27/06/16
或
15/10/05
如何CA ñ我在Javascript中实现它?
您可以使用简单的字符串操作方法:
function shortDate(str)
{
return str.substring(0, 6) + str.substring(8, 10);
}
var dt = shortDate('27/06/2016');
// returns 27/06/16
当出现这种情况时,我已经输入了近乎完全相同的解决方案了! – CompanyDroneFromSector7G
当然,非常感谢兄弟)) –
如果您是确保日期是有效的,你可以使用此功能
function formatDate (input) {
var datePart = input.match(/\d+/g);
year = datePart[2].substring(2); // get only two digits
month = datePart[1];
day = datePart[0];
return day+'/'+month+'/'+year;
}
您可以按照此过程。
Old_date = '27/06/2016';
New_date = Old_date.split('/');
New_date[2] = New_date[2].substring(2);
New_date = New_date.join('/');
Moment.js是使用日期操控最好的图书馆,它这样做很容易:
moment('15/10/2005', 'DD/MM/YYYY').format('DD/MM/YY');
这是非常好的,当你需要时间操纵经常,并没有太多的js文件,因为增加额外的20kb负载到你的页面是有点沉重的事情。欢呼声 –
仍然这是美丽的解决方案 –
function reformat(dateStr)
{
dArr = dateStr.split("/");
return dArr[0]+ "/" +dArr[1]+ "/" +dArr[2].substring(2);
}
考虑添加一些评论给你的答案。 – HDJEMAI
如果你想在真正的日期,而不是字符串的工作:
function parseDate(input) {
var parts = input.match(/(\d+)/g);
return new Date(parts[2], parts[1], parts[0]);
}
function formatDate(date) {
var day = date.getDate();
var month = date.getMonth();
var year = date.getFullYear().toString().substr(2);
return day + '/' + month + '/' + year;
}
然后简单地:
formatDate(parseDate('27/05/2016')); // returns "27/5/16"
这是行不通的,因为(a)JS日期使用基于零的月份,以及(b)OP需要两位数的日期和月份。 (你也应该检查'.substr()'的参数是如何工作的。) – nnnnnn
如果您确定输入始终处于正是格式,那么你可以用一个简单的基于正则表达式的字符串做在同一行替换:
var output = input.replace(/..(..)$/,"$1");
当然,你可以使正则表达式更具体与\d
为数字,但如果你知道输入格式是固定的.
再次工作正常做一个通用的“从任何字符串中删除第三和第四个字符”。
使用正则表达式
/(?!.*\/)../
str.replace(/(?!.*\/)../,'')
http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_substring –