Its working, you can use php variable for dynamically disable the dates, you can bind this value from database to get dynamic output.
for disable date, use !== sign
Just copy paste the following code and checkout
<html lang="en" >
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Angular Material style sheet -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css">
</head>
<body ng-app="datepickerValidations" ng-cloak>
<!--
Your HTML content here
-->
<md-content ng-controller="AppCtrl as ctrl" layout-padding ng-cloak>
<div layout-gt-xs="row">
<div flex-gt-xs>
<h4>Disable specific date</h4>
<md-datepicker ng-model="ctrl.myDate" md-placeholder="Enter date"
md-min-date="ctrl.minDate" md-max-date="ctrl.maxDate"
md-date-filter="ctrl.disableSpecificDate"></md-datepicker>
</div>
</div>
</md-content>
<!-- Angular Material requires Angular.js Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
<!-- Angular Material Library -->
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>
<!-- Your application bootstrap -->
<script type="text/javascript">
angular.module('datepickerValidations', ['ngMaterial', 'ngMessages']).controller('AppCtrl', function() {
this.myDate = new Date();
this.minDate = new Date(
this.myDate.getFullYear(),
this.myDate.getMonth() - 2,
this.myDate.getDate()
);
this.maxDate = new Date(
this.myDate.getFullYear(),
this.myDate.getMonth() + 2,
this.myDate.getDate()
);
this.disableSpecificDate = function(date) {
var date= date.getDate()/date.getMonth()/date.getFullYear();
return date !== 20/6/2017 && date !== 21/6/2017;
};
});
</script>
</body>
</html>