Skip to content

Instantly share code, notes, and snippets.

@MrAntix
Last active August 29, 2015 14:08
Show Gist options
  • Save MrAntix/091cf4cf7399542a7639 to your computer and use it in GitHub Desktop.
Save MrAntix/091cf4cf7399542a7639 to your computer and use it in GitHub Desktop.
Determining my endian
<html>
<head>
<title>Testin</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.1/angular.min.js"></script>
</head>
<body ng-app="app" ng-controller="AppController">
<input id="test" ng-model="dateInput" />
<br/>
{{date}} (browser parsed: {{dateBrowser}})
<br />
{{date | date:'d MMM yyyy'}}
<br />
{{dateLocale}}
<script>
angular.module('app', [])
.controller('AppController',
[
'$log', '$scope',
function ($log, $scope) {
var parseDate = function () {
var re = /^(\d{1,2})[^\d](\d{1,2})[^\d](\d{2}(\d{2})?)$/,
format = new Date(3333, 11, 22).toLocaleDateString(),
dayFirst;
format.replace(/(12|22|(33(33)?)|.*?)/g, function(m) {
if (dayFirst == undefined) {
if (m === "22") dayFirst = true;
else if (m === "12") dayFirst = false;
}
});
$log.debug(format);
$log.debug(dayFirst);
return function (dateString) {
var m = re.exec(dateString);
if (m) {
$log.debug(JSON.stringify(m));
return new Date(m[3], (dayFirst ? m[2] : m[1]) - 1, dayFirst ? m[1] : m[2]);
}
return new Date(dateString);
}
}();
$scope.$watch('dateInput', function (dateString) {
$log.debug('change ' + dateString);
$scope.dateBrowser = new Date(dateString);
$scope.date = parseDate(dateString);
$scope.dateLocale = $scope.date.toLocaleDateString();
});
}
]);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment