如何在vue组件中将格式日期时间更改为日期?

我的vue组件是这样的:

 ... {{getDate(item.created_at)}} ...   export default { ... methods: { getDate(datetime) { let date = new Date(datetime).toJSON().slice(0,10).replace(/-/g,'/') return date } } }  

如果我是console.log(datetime) ,结果:2018-03-31 18:23:20

我想只获取日期并将格式更改为:2018年3月31日

我尝试上面的组件,但结果如下:2018/03/31

我尝试使用格式方法和dateformat方法,但它是未定义的

我怎么解决这个问题?

没有lib的最佳方式实际上取决于您定位的浏览器。 看下面的一些可能性。

 // IE 11 or later function format(date) { var month = date.toLocaleString("en-US", { month: 'short' }) return date.getDate() + ' ' + month + ' ' + date.getFullYear(); } // Pretty much every browser function formatCompat(date) { var ms = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; return date.getDate() + ' ' + ms[date.getMonth()] + ' ' + date.getFullYear(); } var d1 = new Date("2018-04-11T12:00:00.000Z"); console.log(format(d1)); console.log(formatCompat(d1)); var d2 = new Date("2010-01-01T12:00:00.000Z"); console.log(format(d2)); console.log(formatCompat(d2)); 

您可以使用toLocaleDateString()获取日期。

如果没有以您希望的格式输出,那么您将希望使用以下内容创建自己的字符串contcatenation

 getDate(datetime) { let date = new Date(datetime); let dateString = `${date.getFullYear}/${date.getMonth() + 1}/${date.getDate}` return date }