Javascript .format()不起作用

时间:2014-03-16 05:17:23

标签: javascript date

我有sql格式的日期数组。所以date [0] =" 2001-01-01",我需要格式化格式:" 1-Jan-12"。我发现它here它应该像这样工作。

tmpDate=Date.parse(dates[0]);
var date=tmpDate.format("dd-mm-yy");

它说:未捕获TypeError:对象978307200000没有方法'格式' 所以我的对象的类型是字符串,但它应该是日期。

console.log($.type(tmpDate));

也说"数字"。为什么呢?

2 个答案:

答案 0 :(得分:1)

有时使用没有插件或第三方库的普通javascript更简单。如果这就是您的目标,那么http://www.w3schools.com/jsref/jsref_obj_date.asp上的Date对象和方法有一些很好的文档。

以下是在http://jsfiddle.net/bbankes/pVU24/

的javascript中执行此操作的最简单方法
var monthAbbreviations = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

var dates = ['2001-01-01'];
var tmpDate = new Date(dates[0]);

var day = tmpDate.getUTCDate();
var mo = monthAbbreviations[tmpDate.getUTCMonth()];
var yr = String(tmpDate.getUTCFullYear()).substring(2,4);

var formattedDate = day + '-' + mo + '-' + yr;

答案 1 :(得分:0)

根据W3 SchoolsDate.parse()返回自1970年1月1日以来的毫秒数。因此,您将获得一个数字。

我认为你正在寻找这个: tmpDate = new Date (dates [0]);