www.91084.com

GVKun编程网logo

js解析并判断两个日期的关系(js解析并判断两个日期的关系)

22

本文将为您提供关于js解析并判断两个日期的关系的详细介绍,我们还将为您解释js解析并判断两个日期的关系的相关知识,同时,我们还将为您提供关于angularjs–比较两个日期的指令、java判断两个日期

本文将为您提供关于js解析并判断两个日期的关系的详细介绍,我们还将为您解释js解析并判断两个日期的关系的相关知识,同时,我们还将为您提供关于angularjs – 比较两个日期的指令、java 判断两个日期是否为同一天、Java 判断两个日期相差多少天、Java8中如何判断两个日期是否相等的实用信息。

本文目录一览:

js解析并判断两个日期的关系(js解析并判断两个日期的关系)

js解析并判断两个日期的关系(js解析并判断两个日期的关系)

var dateStartTime = new Date(startTime.replace(/-/g,"/"));   
				     var dateEndTime = new Date(endTime.replace(/-/g,"/"));  
				     
				     var days = (dateEndTime.getTime()-dateStartTime.getTime())/(1000*60*60*24);
					if(days > 30 ||days <0 ){
						alert("结束日期必须大于开始日期,且间隔时间不能大于30天,请重新先择");
						return false;
					}
					return true;

angularjs – 比较两个日期的指令

angularjs – 比较两个日期的指令

我使用了以下代码来比较两个日期(参考 Custom form validation directive to compare two fields)

define(['./module'],function(directives) {
'use strict';
directives.directive('lowerThan',[
 function() {

   var link = function($scope,$element,$attrs,ctrl) {
   ctrl.$setValidity('lowerThan',false);
   var validate = function(viewValue) {
    var comparisonModel = $attrs.lowerThan;                

    /*if(!viewValue || !comparisonModel){
      // It's valid because we have nothing to compare against
      //console.log("It's valid because we have nothing to compare against");
      ctrl.$setValidity('lowerThan',true);
    }*/

    // It's valid if model is lower than the model we're comparing against
    //ctrl.$setValidity('lowerThan',parseInt(viewValue,10) <    parseInt(comparisonModel,10) );        
    if(comparisonModel){       
        var to = comparisonModel.split("-");        
        var t = new Date(to[2],to[1] - 1,to[0]);
    }
    if(viewValue){
      var from=viewValue.split("-");
      var f=new Date(from[2],from[1]-1,from[0]);
    }

    console.log(Date.parse(t)>Date.parse(f));
    ctrl.$setValidity('lowerThan',Date.parse(t)>Date.parse(f));        
    return viewValue;
  };

  ctrl.$parsers.unshift(validate);
  ctrl.$formatters.push(validate);

  $attrs.$observe('lowerThan',function(comparisonModel){
    // Whenever the comparison model changes we'll re-validate
    return validate(ctrl.$viewValue);
  });

};

return {
  require: 'ngModel',link: link
};

 }
 ]);
 });

但是第一次加载页面时会显示错误消息.我尝试过使用ctrl.$setValidity(‘lowerThan’,false);使它第一次看不见.但它不起作用.

这是相同的plunker.
http://plnkr.co/edit/UPN1g1JEoQMSUQZoCDAk?p=preview

解决方法

你的指示没问题.您在控制器内设置日期值,并且您将较低的日期设置为较高的值,这意味着日期在加载时无效.你的指令正确检测到了.如果您不希望您的指令在加载时验证您的数据,那么您需要三件事:

>删除$attrs.$observe
>创建并将moreThan指令应用于其他字段
>告诉您的指令不要应用于模型值($formatters数组),而只应用于输入值($parsers数组).

PLUNKER

'use strict';
var app = angular.module('myApp',[]);

app.controller('MainCtrl',function($scope) {
  $scope.field = {
    min: "02-04-2014",max: "01-04-2014"
  };

});

app.directive('lowerThan',[
  function() {

    var link = function($scope,ctrl) {

      var validate = function(viewValue) {
        var comparisonModel = $attrs.lowerThan;
        var t,f;

        if(!viewValue || !comparisonModel){
          // It's valid because we have nothing to compare against
          ctrl.$setValidity('lowerThan',true);
        }
        if (comparisonModel) {
            var to = comparisonModel.split("-");
            t = new Date(to[2],to[0]);
        }
        if (viewValue) {
            var from = viewValue.split("-");
            f = new Date(from[2],from[1] - 1,from[0]);
        }

        ctrl.$setValidity('lowerThan',Date.parse(t) > Date.parse(f));
        // It's valid if model is lower than the model we're comparing against

        return viewValue;
      };

      ctrl.$parsers.unshift(validate);
      //ctrl.$formatters.push(validate);

    };

    return {
      require: 'ngModel',link: link
    };

  }
]);

app.directive('higherThan',ctrl) {

      var validate = function(viewValue) {
        var comparisonModel = $attrs.higherThan;
        var t,f;

        if(!viewValue || !comparisonModel){
          // It's valid because we have nothing to compare against
          ctrl.$setValidity('higherThan',from[0]);
        }

        ctrl.$setValidity('higherThan',Date.parse(t) < Date.parse(f));
        // It's valid if model is higher than the model we're comparing against

        return viewValue;
      };

      ctrl.$parsers.unshift(validate);
      //ctrl.$formatters.push(validate);

    };

    return {
      require: 'ngModel',link: link
    };

  }
]);
<form name="form" >

  Min: <input name="min" type="text" ng-model="field.min" lower-than="{{field.max}}" />
  <spanng-show="form.min.$error.lowerThan">
    Min cannot exceed max.
  </span>

  <br />

  Max: <input name="max" type="text" ng-model="field.max" higher-than="{{field.min}}" />
  <spanng-show="form.max.$error.higherThan">
    Max cannot be lower than min.
  </span>

</form>

java 判断两个日期是否为同一天

java 判断两个日期是否为同一天

public static boolean isSameDate(Date d1 ,Date d2){
    if (null == d1 || null == d2)
        return false;
    
    if(Math.abs( d1.getTime() - d2.getTime() ) > 3600000*24)
        return false;
    
    Calendar c1 = Calendar.getInstance();
    c1.setTime(d1);
    Calendar c2 = Calendar.getInstance();
    c1.setTime(d2);
    if(c1.get(Calendar.DAY_OF_MONTH) != c2.get(Calendar.DAY_OF_MONTH))
        return false;
    
    return true;
}

Java 判断两个日期相差多少天

Java 判断两个日期相差多少天

下面是小编 jb51.cc 通过网络收集整理的代码片段。

小编小编现在分享给大家,也给大家做个参考。

import java.util.Calendar;

public class DateDifferent{    
    public static void main(String[] args){
    Calendar calendar1 = Calendar.getInstance();
    Calendar calendar2 = Calendar.getInstance();
    calendar1.set(2014,01,10);
    calendar2.set(2014,07,01);
    long milliseconds1 = calendar1.getTimeInMillis();
    long milliseconds2 = calendar2.getTimeInMillis();
    long diff = milliseconds2 - milliseconds1;
    long diffSeconds = diff / 1000;
    long diffMinutes = diff / (60 * 1000);
    long diffHours = diff / (60 * 60 * 1000);
    long diffDays = diff / (24 * 60 * 60 * 1000);
    System.out.println("\nThe Date Different Example");
    System.out.println("Time in milliseconds: " + diff + " milliseconds.");
    System.out.println("Time in seconds: " + diffSeconds + " seconds.");
    System.out.println("Time in minutes: " + diffMinutes + " minutes.");
    System.out.println("Time in hours: " + diffHours + " hours.");
    System.out.println("Time in days: " + diffDays + " days.");
  }
}

以上是小编(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给程序员好友。

Java8中如何判断两个日期是否相等

Java8中如何判断两个日期是否相等

Java 8中判断两个日期是否相等

package com.shxt.demo02;  
import java.time.LocalDate;  
public class Demo04 {      
public static void main(String[] args) {          
LocalDate date1 = LocalDate.now();          
LocalDate date2 = LocalDate.of(2018,2,5);          
if(date1.equals(date2)){              
System.out.println("时间相等");          
}
else{              
System.out.println("时间不等");          
}      
}  
}
登录后复制

以上就是Java8中如何判断两个日期是否相等的详细内容,更多请关注php中文网其它相关文章!

今天关于js解析并判断两个日期的关系js解析并判断两个日期的关系的介绍到此结束,谢谢您的阅读,有关angularjs – 比较两个日期的指令、java 判断两个日期是否为同一天、Java 判断两个日期相差多少天、Java8中如何判断两个日期是否相等等更多相关知识的信息可以在本站进行查询。

本文标签: