Skip to content

πŸ• 🌐 [deprecated] Addon thats brings Luxon to Ember applications.

License

Notifications You must be signed in to change notification settings

willrax/ember-luxon

Repository files navigation

ember-luxon

Deprecated. I no longer work with Ember so it's tricky to keep this up to date. If you require this library, I'd suggest forking it. Alternatively, install luxon directly and copy the helpers in.

NPM version CircleCI

An addon to allow importing of Luxon in your Ember Apps.

Installation

  • ember install ember-luxon;

Most modern browers will work fine with luxon. If you need to support legacy browsers you will need to include some polyfills.

You can provide an option in your apps ember-cli-build.js file and we'll add intl.js to your build.

'ember-luxon': {
  includeIntlPolyfill: true
}

See the Luxon support matrix for more information and which browsers support which features and other caveats.

Usage

import { DateTime, Duration, Info, Interval, Settings, Zone } from 'ember-luxon';
import Component from '@ember/component';

export default Component.extend({
  theTime: computed(function() {
    return DateTime.local()
  })
});

Helpers

Ember luxon provices some helpers for use in templates.

luxon

Given a string and a format it will generate a luxon datetime object.

{{luxon "2014 Aug 06" "yyyy LLL dd"}}

luxon-diff

This will determine the length of time between two days. Precision is optional and will default to milliseconds.

{{luxon-diff dateOne dateTwo}}                  /* 86400000
{{luxon-diff dateOne dateTwo precision="days"}} /* 1

luxon-format

Given a datetime object it will format it. If you don't provide a format string ember-luxon will default to using local formatting.

{{luxon-format dateOne format="yyyy LLL dd"}} /* "2014 Aug 06"
{{luxon-format dateOne}}                      /* "4/20/2017"

luxon-is-after

Will return true or false depending on whether the first dateTime is after the second.

{{luxon-is-after earlyDate lateDate}} /* true
{{luxon-is-after lateDate earlyDate}} /* false

luxon-is-before

Will return true or false depending on whether the first dateTime is before the second.

{{luxon-is-before earlyDate lateDate}} /* true
{{luxon-is-before lateDate earlyDate}} /* false

luxon-is-before

Will return true or false depending on whether the first dateTime is contained within a pair of dates.

{{luxon-is-before dateTime startDate endDate}} /* true

luxon-is-same

Will return true or false depending on whether the first dateTime is the same as the other date. You can set the precision here to verify if it is the day, millisecond, hour etc.

{{luxon-is-same dateTime dateTime}}                        /* true
{{luxon-is-same dateTime dateTimeTwo precision="day"}}     /* true
{{luxon-is-same dateTime dateTimeThree precision="month"}} /* true