使用VueJS在Javascript中转换日期格式

使用VueJS在Javascript中转换日期格式,javascript,date,vue.js,flatpickr,Javascript,Date,Vue.js,Flatpickr,我的日期格式为2017年10月19日,我想将其转换为该格式 有没有快速的方法?我正在VueJs中使用FlatPickr。如果有任何帮助,请在下面找到我的代码 从“vue FlatPicker组件”导入FlatPicker; 导入'flatpickr/dist/flatpickr.css'; 从“./Navigation”导入导航 从“../bus”导入总线 导出默认值{ 数据(){ 返回{ 显示面板:错误, isClosed:错误, 到达:空, 出发:空, 配置:{ 日期格式:“Ymd” } }

我的日期格式为2017年10月19日,我想将其转换为该格式

有没有快速的方法?我正在VueJs中使用
FlatPickr
。如果有任何帮助,请在下面找到我的代码

从“vue FlatPicker组件”导入FlatPicker;
导入'flatpickr/dist/flatpickr.css';
从“./Navigation”导入导航
从“../bus”导入总线
导出默认值{
数据(){
返回{
显示面板:错误,
isClosed:错误,
到达:空,
出发:空,
配置:{
日期格式:“Ymd”
}
}
},
组成部分:{
扁平采摘器
},
方法:{
关闭菜单:函数(){
此。$store.state.showBooking=false;
}
},
安装的(){
公共汽车。$on('show-booking',()=>{
this.showPanel=true;
})
}
}

您可以通过使用字符串创建新的日期对象来实现

var日期=新日期(“2017年10月19日”);
var result=”“+date.getFullYear()+((date.getMonth()+1)>9?“”:“0”)+(date.getMonth()+1)+(date.getDate()>9?“”:“0”)+date.getDate();

log(result)
您可以像解析器一样分解字符串,但避免创建日期,然后格式化部分。这将避免内置日期分析器的变化无常:

函数重新格式化日期{
函数z(n){return('0'+n).slice(-2)}
变量月份=[,'一月','二月','三月','四月','五月','六月',
‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’;
var b=s.toLowerCase().split(“”);
返回b[2]+z(月数指数(b[1])+z(b[0]);
}
控制台日志(重新格式化日期(2017年10月19日));

控制台日志(重新格式化日期(2017年1月1日))
另一个好的选择是使用lib设置日期格式,您应该首先通过npm
npm i--save moment(或在官方网站上查看更多选项)将其安装到项目中,然后只需将其导入组件并将日期更改为所需格式:

import moment from 'moment'
const formattedDate = moment('19 Oct 2017').format('YYYYMMDD')
console.log(formattedDate) //20171019

您可以轻松做到这一点:

  import moment from 'moment'

  methods: { 
      format_date(value){
         if (value) {
           return moment(String(value)).format('YYYYMMDD')
          }
      },
   },
然后:


利用瞬间

首先,我们需要安装MomentNPM包,该包允许更改日期格式

npm install moment
现在,您可以创建一个全局函数来设置所需的格式,为此,必须打开文件
resources/js/app.js
,并放入以下代码:

import moment from 'moment';

Vue.filter('formatDate', function(value) {
    if (value) {
        return moment(String(value)).format('MM/DD/YYYY hh:mm')
    }
});
现在,您可以在所有js组件中应用以下格式:

{{ response.create_at | formatDate }}

不建议使用内置解析器,特别是对于非标准日期格式。@RobG那么,日期解析不是基于某些标准,在不同的浏览器中会产生不同的结果?我不知道!你们可以,任何人都要确保你们读的是瞬间字符串格式,它和我用的django不同
{{ response.create_at | formatDate }}