diff --git a/WorkingDays.js b/WorkingDays.js index 2226146..6b41e17 100644 --- a/WorkingDays.js +++ b/WorkingDays.js @@ -57,6 +57,32 @@ WorkingDays.nyseHolidays = { } } +WorkingDays.nyseShortDays = { + 2011: { + 11: [25] + } +}; + +/** + +Check if given date is a short trading session at NYSE (MOC @ 13:00) + +@param {Date} day date to check. + +@return {Boolean} + + */ +WorkingDays.isNyseShortDay = function(day) { + var entry = WorkingDays.nyseShortDays[day.getFullYear()]; + if (entry) { + entry = entry[day.getMonth()+1]; + if (entry) { + return entry.indexOf(day.getDate()) >= 0; + } + } + return false; +} + /** Check if given date is a holiday at NYSE. diff --git a/docs/WorkingDays.html b/docs/WorkingDays.html index 7e0eef8..6caf7d2 100644 --- a/docs/WorkingDays.html +++ b/docs/WorkingDays.html @@ -39,7 +39,7 @@

WorkingDays.js

- +

WorkingDays()

@@ -48,6 +48,16 @@

WorkingDays()

See source code for holidays array.

+

WorkingDays.isNyseShortDay(day) static

+ +

Check if given date is a short trading session at NYSE (MOC @ 13:00)

+ + + +

Returns:

+ + +

WorkingDays.isNyseHoliday(day) static

Check if given date is a holiday at NYSE.

diff --git a/test/WorkingDaysTest.js b/test/WorkingDaysTest.js index 1471907..113f0a7 100644 --- a/test/WorkingDaysTest.js +++ b/test/WorkingDaysTest.js @@ -29,6 +29,22 @@ exports['check nyse working days'] = function(test) { test.done(); } +exports['check nyse short days'] = function(test) { + process.env.TZ='America/New_York'; + + test.expect(2); + + var day; + + day = Date.parseDaystamp('20110903'); + test.ok(!WorkingDays.isNyseShortDay(day)); + + day = Date.parseDaystamp('20111125'); + test.ok(WorkingDays.isNyseShortDay(day)); + test.done(); +} + + exports['check nyse prev/next day'] = function(test) { process.env.TZ='America/New_York';