在JavaScript中将date格式设置为MM / dd / yyyy
我有一个像这样的date格式'2010-10-11T00:00:00+05:30'
。 我必须使用JavaScript或jQuery格式化为MM/dd/yyyy
。 任何人都可以帮助我做到这一点。
尝试这个; 请记住,JavaScript月份是0-索引,而天数是1-indexed。
var date = new Date('2010-10-11T00:00:00+05:30'); alert((date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear());
所有其他答案不完全解决这个问题。 他们打印格式为mm / dd / yyyy的date,但问题是关于MM / dd / yyyy。 注意细微差别? MM表示如果月份是单个数字,则前导零必须填充月份,因此它始终是一个双位数字。
即mm / dd为3/31,MM / dd为03/31。
我已经创build了一个简单的function来实现这一点。 请注意,相同的填充不仅适用于月份,也适用于月份的date,实际上这是使用MM / DD / yyyy:
function getFormattedDate(date) { var year = date.getFullYear(); var month = (1 + date.getMonth()).toString(); month = month.length > 1 ? month : '0' + month; var day = date.getDate().toString(); day = day.length > 1 ? day : '0' + day; return month + '/' + day + '/' + year; }
你可以: .slice()
和.split()
var d = "2010-10-30T00:00:00+05:30".slice(0, 10).split('-'); d[1] +'/'+ d[2] +'/'+ d[0]; // 10/30/2010
…或将您的string传递给Date
对象 :
var d = new Date("2010-10-30T00:00:00+05:30");
从这里您可以使用以下方法提取所需的内容:
d.getMonth()+1 // 10 d.getDate() // 30 d.getFullYear() // 2010
请注意, getMonth()
返回基于零的月份(0-11),因此需要+1
。
在这里您可以find其他获得者列表: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date