Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript format()不';行不通_Javascript_Date - Fatal编程技术网

Javascript format()不';行不通

Javascript format()不';行不通,javascript,date,Javascript,Date,我有sql格式的日期数组。所以日期[0]=“2001-01-01”,我需要将其格式化为格式:“1-Jan-12”。我发现它应该是这样工作的 tmpDate=Date.parse(dates[0]); var date=tmpDate.format("dd-mm-yy"); 它说:uncaughttypeerror:object978307200000没有“格式”方法 所以我的对象的类型是string,但它应该是date console.log($.type(tmpDate)); 还写着“数字

我有sql格式的日期数组。所以日期[0]=“2001-01-01”,我需要将其格式化为格式:“1-Jan-12”。我发现它应该是这样工作的

tmpDate=Date.parse(dates[0]);
var date=tmpDate.format("dd-mm-yy");
它说:uncaughttypeerror:object978307200000没有“格式”方法 所以我的对象的类型是string,但它应该是date

console.log($.type(tmpDate));
还写着“数字”。为什么?

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

我想你正在寻找这个:
tmpDate=新日期(日期[0])

有时使用纯javascript而不使用插件或第三方库更简单。如果这就是你想要的,那么有一些关于
Date
对象和方法的优秀文档

下面是在javascript中从


您发布的链接建议使用日期格式库。您的项目中是否包含此库?这个功能不是内置在原生JS中的。我想昨天在这里问了同样的问题?是的,同样的问题。是的,我错了。但本找到了更好的解决办法
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;