Install
bower install angular-timespan
Or download the full file or the minified version from the dist folder.
Then include the file in your application (adding the script tag, using require... ) and add it to your app:
angular.module('myApp',[
'aurbano.timespan'
// ...
].run([
/* ... */
]);
Usage
Add the directive with the difference between any two dates to get them in a readable manner:
Sent <span timespan="dateDiff"></span> ago.
<!-- Generates (for example): -->
Sent 14 days ago
Where dateDiff is the difference in milliseconds: $scope.dateDiff = new Date() - startDate;
Options
You can specify timespan-opts
with an object containing the custom settings you want for the timespan display:
Sent <span timespan="dateDiff" timespan-opts="timespanConfig"></span> ago.
And in your controller:
$scope.timespanConfig = {
lessThanFirst: 'now', // What to display if the diff is less than the first available unit
millisecond: 'ms', // ------------------------------------
second: 's', //
minute: 'm', //
hour: 'h', // Labels for each unit, use them for
day: 'd', // shorthand units, localization...
week: 'w', // Set any to `false` to disable it
month: 'mo', //
year: 'y', // ------------------------------------
space: false, // Whether to add a space between the number and the label
pluralize: false // Whether to add an 's' to the label if the diff > 1
};
Contribute
Feel free to submit any issues or modifications in Pull Requests. If you are adding a feature it would be great if you also documented it in the Readme, or at least in the PR comment.
License
This directive is released under the MIT License