0.3.0-beta • Published 7 years ago

datetime-offset v0.3.0-beta

Weekly downloads
135
License
MIT
Repository
github
Last release
7 years ago

datetime-offset.js

Javascript Class like C# DateTimeOffset Structure (mapping momnet-timezome)

Default Usage

import DateTimeOffset from 'datetime-offset';
// if using Require
// const DateTimeOffset = require('datetime-offset').default

const t1 = new DateTimeOffset(new Date());
const t2 = new DateTimeOffset('2017-04-10 00:00:00', {
  format: 'YYYY-MM-DD HH:mm:ss',
  // default timezone UTC
})
const t3 = new DateTimeOffset('2017-04-10 00:00:00', {
  format: 'YYYY-MM-DD HH:mm:ss',
  timezone: 'UTC' // same 'GMT', 'Atlantic/Reykjavik'
})
const t4 = new DateTimeOffset('2017-04-10 09:00:00', {
  format: 'YYYY-MM-DD HH:mm:ss',
  timezone: 'KST', // same 'UTC+9', 'Asia/Seoul'
});

Supported Timezones

  • UTC (Same GMT, Atlantic/Reykjavik)
  • KST (Smae UTC+9, Asia/Seoul)
  • EDT (Same UTC-4, America/New_York)
  • PDT (Same UTC-7, America/Vancouver)
  • JST (Same UTC+9, Asia/Tokyo)
  • CST (Smae UTC+8, Asia/Shanghai)

  • If you have a timezone you need, please add it to timezone-consts.js using http://momentjs.com/timezone.

Constructor

DateTimeOffset(datetime, options);

Methods

toString(format = 'YYYY-MM-DD HH:mm:ss', timezone = 'GMT')

  • The order of the format and timezone parameters has changed since version 0.3.0.
  • Default format : YYYY-MM-DD HH:mm:ss
  • Default timezone : GMT
const t2 = new DateTimeOffset(new Date('2017-04-10'));
console.log(t2.timezone) // Atlantic/Reykjavik
t2.toString()  //  2017-04-10 00:00:00
t2.toString('UTC')  //  2017-04-10 00:00:00
t2.toString('KST')  //  2017-04-10 09:00:00
t2.toString('UTC', 'YYYY-MM-DD')  //  2017-04-10
t2.toString(undefined, 'YYYY-MM-DD')  //  2017-04-10 timezone default set 'UTC'

const t4 = new DateTimeOffset('2017-04-10 09:00:00', {
  format: 'YYYY-MM-DD HH:mm:ss',
  timezone: 'KST',
});
console.log(t4.timezone) // Asia/Seoul
t4.toString()  //  2017-04-10 00:00:00
t4.toString('UTC')  //  2017-04-10 00:00:00
t4.toString('KST')  //  2017-04-10 09:00:00
t4.toString('UTC', 'YYYY-MM-DD')  //  2017-04-10
t4.toString(undefined, 'YYYY-MM-DD')  //  2017-04-10 timezone default set 'UTC'

addYears(number)

const t = new DateTimeOffset(new Date('2017-04-10'));
console.log(t.addYears(10).toString()) // 2027-04-10 00:00:00
console.log(t.addYears(-20).toString()) // 2007-04-10 00:00:00
t.addYears(1, 1) // throw Error
t.addYears('string') // throw Error
t.addYears(null) // throw Error
t.addYears(undefined) // throw Error

addMonth(number)

const t = new DateTimeOffset(new Date('2017-04-10'));
console.log(t.addMonth(5).toString()) // 2017-09-10 00:00:00
console.log(t.addMonth(24).toString()) // 2019-09-10 00:00:00
console.log(t.addMonth(-7).toString()) // 2019-02-10 00:00:00
console.log(t.addMonth(-12).toString()) // 2018-02-10 00:00:00
t.addMonth(1, 1) // throw Error
t.addMonth('string') // throw Error
t.addMonth(null) // throw Error
t.addMonth(undefined) // throw Error

addDays(number)

const t = new DateTimeOffset(new Date('2017-04-10'));
console.log(t.addDays(10).toString()); // 2017-04-20 00:00:00
console.log(t.addDays(-5).toString()); // 2017-04-15 00:00:00
t.addDays(1, 1) // throw Error
t.addDays('string') // throw Error
t.addDays(null) // throw Error
t.addDays(undefined) // throw Error

addHours(number)

const t = new DateTimeOffset(new Date('2017-04-10'));
console.log(t.addHours(10).toString()) // 2017-04-10 10:00:00
console.log(t.addHours(14).toString()) // 2017-04-11 00:00:00
console.log(t.addHours(-10).toString()) // 2017-04-10 14:00:00
t.addHours(1, 1) // throw Error
t.addHours('string') // throw Error
t.addHours(null) // throw Error
t.addHours(undefined) // throw Error

addMinutes(number)

const t = new DateTimeOffset(new Date('2017-04-10'));
console.log(t.addMinutes(10).toString()) // 2017-04-10 00:10:00
console.log(t.addMinutes(60).toString()) // 2017-04-00 01:10:00
console.log(t.addMinutes(-130).toString()) // 2017-04-09 23:00:00
t.addMinutes(1, 1) // throw Error
t.addMinutes('string') // throw Error
t.addMinutes(null) // throw Error
t.addMinutes(undefined) // throw Error

addSeconds(number)

const t = new DateTimeOffset(new Date('2017-04-10'));
console.log(t.addSeconds(10).toString()) // 2017-04-10 00:00:10
console.log(t.addSeconds(60).toString()) // 2017-04-10 00:01:10
console.log(t.addSeconds(-130).toString()) // 2017-04-09 23:59:00
t.addSeconds(1, 1) // throw Error
t.addSeconds('string') // throw Error
t.addSeconds(null) // throw Error
t.addSeconds(undefined) // throw Error

compareTo(DateTimeOffset)

  • Compares to DateTimeOffset and returns the subtracted value
const customTime = '2017-04-10T00:00:00Z';
const customTime2 = '2017-04-09T23:50:00Z';
const customTime3 = '2017-04-10T00:10:00Z';

const t = new DateTimeOffset(customTime);
const t2 = new DateTimeOffset(customTime2);
const t3 = new DateTimeOffset(customTime3);

console.log(t.compareTo(t)); // 0
console.log(t.compareTo(t2)); // 600000
console.log(t.compareTo(t3)); // -600000

t.compareTo(); // throw Error
t.compareTo(t2, t3); // throw Error
t.compareTo(new Date()); // throw Error
t.compareTo('https://fb.com/luckyyowu'); // throw Error

equals(DateTimeOffset)

  • To be developed

static compare(DateTimeOffset, DateTimeOffset)

  • To be developed p

static equals(DateTimeOffset, DateTimeOffset)

  • To be developed