【问题标题】:comparison between two dates vuejs两个日期vuejs之间的比较
【发布时间】:2021-08-02 17:35:26
【问题描述】:

我在比较我的出发日期和返回日期时遇到了问题。从今天早上开始,我尝试了几件事,但没有任何效果。如果此人选择与退货相同的日期,我想显示一条错误消息。但这不起作用。谁能告诉我我的代码有什么问题?在此先感谢:)

<template>
    <div >
       <datepicker v-model="dateSelectAller"  lang="fr" type="date" format="dd-MM-YYYY" :lowerLimit="Date.now()" ></datepicker>                                     
   </div>
   <div v-show="!isSuccess">
     <span class="error-text" v-if="errors.timeAllerErrors">{{ errors.timeAllerErrors }}</span>
   </div>
   <div >
     <datepicker  v-model="dateAnterieurRetour"  lang="fr"  type="date" format="dd-MM-YYYY" :lowerLimit="Date.now()"></datepicker>
    </div>
    <div v-show="!isSuccess">
      <span class="error-text" v-if="errors.dateRetour">{{ errors.dateRetour }}</span>
    </div>                                        
</template>

<script>
    data(){
        return{
            format,
            dateSelectAller:new Date(),
            dateAnterieurRetour: new Date(),
            isSuccess:false,
            errors:{}
         }
      }
    beforeMount(){
       this.dateAnterieurRetour = this.dateAnterieurRetour.setDate(this.dateAnterieurRetour.getDate() +1)
   },
    watch:{
        
        dateSelectAller(newValue){
            if(newValue >= this.dateAnterieurRetour){
                this.errors['dateAller'] = 'Choisir une date inférieur à celle de retour'
            }else{
                this.errors['dateAller'] = ''
            }
            console.log(newValue)
            
            if(this.date1 === this.date2){
                return this.errors['timeRetourErrors'] = 'test erreur'
            }else{
                return this.errors['timeRetourErrors'] = ''
            }
        },
        
        dateAnterieurRetour(newValue){
             console.log(newValue)
            if(newValue <= this.dateSelectAller){
                
                this.errors['dateRetour'] = 'la date choisi n\' est pas valide!'
            }else{
                this.errors['dateRetour'] = ''
            }
            console.log(newValue)
        },
     },
    methods:{
        getFormat () {
            return this.format(new Date(this.dateSelectAller) , 'dd-MM-yyyy', {locale: window.locale})
        } ,
        
        getFormatRetour () {
            return this.format(new Date(this.dateAnterieurRetour) , 'dd-MM-yyyy', {locale: window.locale})
        } ,
 }
</script>

【问题讨论】:

  • 你试过时间戳比较吗?
  • 正如@0x30c4 所说,尝试使用时间戳而不是 Date 对象。它比字符串/对象更容易比较数字

标签: javascript vue.js if-statement datepicker


【解决方案1】:

你在哪里设置isSuccess?现在看起来错误 div 永远不会出现,因为 isSuccess 不在您的数据或计算值中

【讨论】:

  • 感谢@Kellen 的回复。实际上,当我创建帖子时,我忘记在我的数据中写入 isSuccess 和错误。我变了。压抑的是出境日期大于回程日期时有效,等于回程日期时无效。
【解决方案2】:

感谢大家帮助我。我刚刚找到了一个解决方案,当离境日期和归还日期相同时,归还日期会提前一天。问题来自日期格式,因为当我检索我的日期时,它以这种格式到达:12251511511 和传出日期:12/04/2021 这就是原因。因此,我更改了返回日期的格式,以便可以将其与发出日期进行比较。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多