Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hogart/datef

Repository files navigation

datef is a Javascript date formatting library, both for browser and node.js.

Features

  • Can output: year, full year, month, day, hour, minutes, seconds, milliseconds and timezone — both zero padded and not
  • Simple localization
  • Built-in formats and easyly extensible
  • Doesn't mess with built-in prototypes
  • Acts as node.js and requirejs/amd module, and have .noConflict method in case no module system is present (e.g. plain browser environment)
  • No external dependencies
  • Contains predefined formats for some ISO8601 date and time representation
  • Thoroughly annotated with jsdoc, so if your IDE/editor supports it, you may never need interrupt yourself from code

Usage

Node.js

npm install datef
var datef = require('datef');
datef('MM.YYYY');

Require.js

require.config({
 paths: {
 'datef': 'path/to/datef'
 }
})
require(['datef'], function(datef){
 datef('MM.YYYY');
});

Browser

<script src="datef.js"></script>
<script>
 datef('MM.YYYY');
</script>

Basic usage

datef('dd.MM.YY', new Date()); // "13.08.13"
datef('dd.MM.YY'); // second argument is optional; datef takes Date.now() if no date is provided
var d = new Date();
d.setFullYear(2045);
datef('dd.MM.YYYY', d); // "13.08.2045"

Languages

Node.js

datef.lang('ru');
datef('dd MMMM'); // 13 августа

Require.js

require.config({
 paths: {
 'datef': 'path/to/datef',
 'datef_ru': 'path/to/datef_lang/ru'
 }
})
require(['datef', 'datef_ru'], function(datef){
 datef.lang('ru');
 datef('dd MMMM'); // 13 августа
});

Browser

<script src="datef.js"></script>
<script src="lang/ru.js"></script>
<script>
 datef.lang('ru');
 datef('dd MMMM'); // 13 августа
</script>

Custom formatters

// predefined formats
datef.formatters(); // ['ISODate','ISOTime','ISODateTime','ISODateTimeTZ']
datef('ISODateTimeTZ', d); // "2013-08-13T15:01:29 -04:00"
// defining your own simple format
datef.register('myFormat', 'd.M.YY');
datef('myFormat', d); // "13.8.13"
// defining your own format with i10n
datef.register('myI10nFormat', {
 'en': 'MMMM dd, DD',
 'ru': 'DD, dd MMMM',
 'default': 'dd MMMM'
});
datef('myI10nFormat', d); // "August 13, Tuesday"
datef.lang('ru');
datef('myI10nFormat', d); // "Вторник, 13 августа"
datef.lang('uk');
datef('myI10nFormat', d); // "13 жніўня"

Cleaning global namespace

This is similar to Backbone.noConflict()

<script>var datef = 'My very important data';</script>
...
<script src="datef.js"></script>
<script>
console.log(typeof datef); // "function"
var formattingLib = datef.noConflict();
console.log(datef); // 'My very important data'
</script>

Tokens

Full list of tokens possible in format string include:

  • YYYY: 4-digit year
  • YY: last 2 digit of year
  • MMMM: full name of month
  • MMM: short name of month
  • MM: ISO8601-compatible number of month (i.e. zero-padded) in year (with January being 1st month)
  • M: number of month in year without zero-padding (with January being 1st month)
  • DDD: full name of day
  • DD: short name of day
  • D: min name of day
  • dd: zero-padded number of day in month
  • d: number of day in month
  • HH: zero-padded 24 hour time
  • H: 24 hour time
  • hh: zero-padded 12 hour time
  • h: 12 hour time
  • mm: zero-padded minutes
  • m: minutes
  • ss: zero-padded seconds
  • s: seconds
  • ff: zero-padded milliseconds, 3 digits
  • f: milliseconds
  • A: AM/PM
  • a: am/pm
  • ZZ: time-zone in ISO8601-compatible basic format (i.e. "-0400")
  • Z: time-zone in ISO8601-compatible extended format (i.e. "-04:00")

About

datef is a Javascript date formatting library, both for browser and node.js

Resources

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /