3.0.2 • Published 8 years ago

ymd-hms v3.0.2

Weekly downloads
37
License
ISC
Repository
github
Last release
8 years ago

ymd-hms: Provide common formats of Date and Time.

Installation

npm install ymd-hms

Usage

import { dateToStr, timeToStr, strToDate, strDateReformat } from 'ymd-hms';

describe('date format', () => {
  it('should return date in different format', () => {
    const d = new Date('December 7, 1995 03:24:00');
    expect(dateToStr('yyyymmdd', d)).toBe('19951207');
    expect(dateToStr('yyyy/mm/dd', d)).toBe('1995/12/07');
    expect(dateToStr('yyyy-mm-dd', d)).toBe('1995-12-07');
    expect(dateToStr('mmddyyyy', d)).toBe('12071995');
    expect(dateToStr('mm/dd/yyyy', d)).toBe('12/07/1995');
    expect(dateToStr('mm-dd-yyyy', d)).toBe('12-07-1995');
    expect(dateToStr('ddmmyyyy', d)).toBe('07121995');
    expect(dateToStr('dd/mm/yyyy', d)).toBe('07/12/1995');
    expect(dateToStr('dd-mm-yyyy', d)).toBe('07-12-1995');
    expect(dateToStr('')).toBe('');
  });
});

describe('time format', () => {
  it('should return time in different format', () => {
    const d = new Date('December 7, 1995 19:24:00');
    expect(timeToStr('hh:mm:ss12', d)).toBe('07:24:00');
    expect(timeToStr('hh:mm:ss24', d)).toBe('19:24:00');
    expect(timeToStr('hh:mm12', d)).toBe('07:24');
    expect(timeToStr('hh:mm24', d)).toBe('19:24');
    expect(timeToStr('')).toBe('');
  });
});

describe('time format', () => {
  it('should return time in different format', () => {
    expect(strToDate('19951207', 'yyyymmdd')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('1995/12/07', 'yyyy/mm/dd')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('1995-12-07', 'yyyy-mm-dd')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('12071995', 'mmddyyyy')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('12/07/1995', 'mm/dd/yyyy')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('12-07-1995', 'mm-dd-yyyy')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('07121995', 'ddmmyyyy')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('07/12/1995', 'dd/mm/yyyy')).toEqual(new Date(1995, 11, 7));
    expect(strToDate('07-12-1995', 'dd-mm-yyyy')).toEqual(new Date(1995, 11, 7));
  });
});

describe('time re-format', () => {
  it('should return time in different format', () => {
    expect(strDateReformat('19951207', 'yyyymmdd', 'dd/mm/yyyy')).toBe('07/12/1995');
    expect(strDateReformat('1995/12/07', 'yyyy/mm/dd', 'mm-dd-yyyy')).toBe('12-07-1995');
  });
});
import { strDateAddNum, subtractStrDate } from 'ymd-hms';

describe('add date', () => {
  it('should return date', () => {
    expect(strDateAddNum('19951229', 'yyyymmdd', 22)).toBe('19960120');
    expect(strDateAddNum('15-11-1995', 'dd-mm-yyyy', -22)).toBe('24-10-1995');
  });
});

describe('subtract two string dates', () => {
  it('should return date', () => {
    const start = '2016-12-21';
    const end = '2017-01-05';
    const formatter = 'yyyy-mm-dd';
    expect(subtractStrDate(start, end, formatter)).toEqual(15);
  });
});
import { iterateDaysOnDateToDate, iterateDaysOnStrToStr } from 'ymd-hms';

describe('string to date', () => {
  it('should return date', () => {
    const startDate = new Date('December 7, 1995 03:24:00');
    const endDay = new Date('December 9, 1995 03:24:00');
    let days = [new Date(1995, 11, 7), new Date(1995, 11, 8), new Date(1995, 11, 9)];
    let result = iterateDaysOnDateToDate(startDate, endDay);
    expect(result).toEqual(days);
  });
});

describe('iterate date from string', () => {
  it('should return date', () => {
    const start = '2017-01-01';
    const end = '2017-01-05';
    const result1 = ['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04', '2017-01-05'];
    const result2 = ['01/01/2017', '02/01/2017', '03/01/2017', '04/01/2017', '05/01/2017'];
    expect(iterateDaysOnStrToStr(start, end, 'yyyy-mm-dd')).toEqual(result1);
    expect(iterateDaysOnStrToStr(start, end, 'yyyy-mm-dd', 'dd/mm/yyyy')).toEqual(result2);
  });
});
import { strFormat } from 'ymd-hms';

describe('date format', () => {
  it('should return elements in enum', () => {
    expect(strFormat.yyyymmdd).toBe('yyyymmdd');
    expect(strFormat.yyyymmddSlash).toBe('yyyy/mm/dd');
    expect(strFormat.yyyymmddHyphen).toBe('yyyy-mm-dd');
    expect(strFormat.mmddyyyy).toBe('mmddyyyy');
    expect(strFormat.mmddyyyySlash).toBe('mm/dd/yyyy');
    expect(strFormat.mmddyyyyHyphen).toBe('mm-dd-yyyy');
    expect(strFormat.ddmmyyyy).toBe('ddmmyyyy');
    expect(strFormat.ddmmyyyySlash).toBe('dd/mm/yyyy');
    expect(strFormat.ddmmyyyyHyphen).toBe('dd-mm-yyyy');
    expect(strFormat.hhmmss12).toBe('hh:mm:ss12');
    expect(strFormat.hhmmss24).toBe('hh:mm:ss24');
    expect(strFormat.hhmm12).toBe('hh:mm12');
    expect(strFormat.hhmm24).toBe('hh:mm24');
  });
});

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

History

Credits

License

ISC

3.0.2

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.9.0

8 years ago

2.8.0

8 years ago

2.7.0

8 years ago

2.6.1

8 years ago

2.6.0

8 years ago

2.5.0

8 years ago

2.4.0

8 years ago

2.3.0

8 years ago

2.2.0

8 years ago

2.1.0

8 years ago

1.2.0

10 years ago

1.1.2

10 years ago

1.1.0

10 years ago

1.0.16

10 years ago

1.0.15

10 years ago

1.0.14

10 years ago

1.0.13

10 years ago

1.0.12

10 years ago

1.0.11

10 years ago

1.0.10

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago