繁体   English   中英

JavaScript正则表达式将长日期时间转换为短日期并将长数字转换为2位小数

[英]JavaScript Regex Convert long date time to short date and covert long number to 2 decimal places

大家好我有一个简单的JavaScript问题,我希望有人可以帮我这个

function changeDate(){
var date = '2/1/2013 12:00:00 AM';

var newDate = date.replace^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2(?'day'((?<!(\2((0?[2469])|11)\2))31)|(?<!\2(0?2)\2)(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}))?)$

alert(newDate); // i need this to alert just '02/01/2013'

}


 function twoDecimalPlace{

var decimal = '1904686.92000000';
//do something;

alert(decimal) // this should alert 1904686.92
 }

所以基本上我需要截断时间并缩短日期。 对于小数位,我需要将它缩短到2位小数,并且看看它是否像0.988那样,如果尾随数大于5,则应该是0.99舍入到下一个最大值

正则表达式不适合该作业。

您应该使用Date()然后使用getDate()getFullYear()等方法来重新格式化日期。

至于小数位:

var x = twoDecimalPlace('1904686.92600000');
alert(x);
function twoDecimalPlace(decimal){
    var result = Number(decimal).toFixed(2);
    return(result);
 }

http://jsfiddle.net/6etNB/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM