将JavaScript字符串转换为整数

Convert JavaScript string to integer

本文关键字:整数 转换 字符串 JavaScript      更新时间:2023-09-26

我有一个日期,它是以字符串形式提供的,例如2012年12月9日。

如果字符串是today,我希望显示"today",否则我希望显示09/12/2012。

下面显示的方法的问题是,像09这样的月份被解析为0,而不是9。

最好的方法是什么?谢谢

var currentDate = new Date();
dateText='09/12/2012';
var a=dateText.split('/');// mdY
$("#date").text(((parseInt(a[0])-1==currentDate.getMonth()&&parseInt(a[1])==currentDate.getDate()&&parseInt(a[2])==currentDate.getFullYear())?'Today':dateText));

将第二个参数传递给parseInt(),特别是10。

$("#date").text(((parseInt(a[0], 10)-1==currentDate.getMonth()&&parseInt(a[1], 10)==currentDate.getDate()&&parseInt(a[2], 10)==currentDate.getFullYear())?'Today':dateText));

第二个参数告诉函数用于解释表达式的基。如果不显式传递,它将使用旧的C约定,这将导致以零开头的数字被解释为基数为8的常量。这导致0809出现问题。

这是一把小提琴:http://jsfiddle.net/pfHA7/1/

function today()
{
    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} var today = mm+'/'+dd+'/'+yyyy;
    return today;
}
var dateText = '09/12/2012';
$("#date").text( today() == dateText ? 'Today' : dateText );​