0

输入是1303输出必须March 2013是在javascript中可能吗?我试过寻找任何东西,尤其是 moment.js,但它返回 1980

这是jsfiddle http://jsfiddle.net/4eG7q/

4

3 回答 3

3
var input = "1303";
var date = moment(input, 'YYMM').format("YYYY - MMMM");

小提琴

于 2012-08-10T07:21:16.330 回答
1

假设 1303 表示 2000 年之后的第 13 年和当年的第 03 个月,您可以对其进行剖析并将其转换为纯 javascript 中的字符串,如下所示:

var input = 1303;
var year = Math.floor(input / 100);
var month = input % 100;

var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

var output = months[month - 1] + " " + (2000 + year);

工作演示:http: //jsfiddle.net/jfriend00/Ve4VH/

于 2012-08-10T07:16:49.393 回答
-1
new Date('1303'
.replace(/(\d{2})(\d{2})/, '$2/01/20$1'))
.toString()
.replace(/^.*? (.*?) .*? (.*?) .*?$/, '$1 $2');

这会给你 2012 年 3 月,而不是 2013 年 3 月,但它更便宜:)

于 2012-08-10T07:54:53.233 回答