nse-business-time
Version:
Calculate Business Time for NSE,BSE,MCX and NFO
83 lines (64 loc) • 2.87 kB
JavaScript
const hldy_lst = require('./src/utils/holiday-list');
const date_util = require('./src/date-mgmt/open-and-scheduling-time');
const _cnst = require('./src/utils/constants');
const momentz = require('moment-timezone');
const map = new Map();
function _init(){
require('dotenv').config({path: '.env'});
require('./src/utils/firebase');
}
async function getNextSchedulingTime(exchange){
let last_update = map.get('last_update');
let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf();
if(!last_update || (currentTime - last_update) > (7200000)){
await hldy_lst.getHolidayList();
map.set('last_update', currentTime);
}
return date_util.getNextSchedulingTime(exchange);
}
async function isOpen(exchange){
let last_update = map.get('last_update');
let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf();
if(!last_update || (currentTime - last_update) > (7200000)){
await hldy_lst.getHolidayList();
map.set('last_update', currentTime);
}
return date_util.isOpen(exchange);
}
async function squareOffTime(exchange){
let last_update = map.get('last_update');
let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf();
if(!last_update || (currentTime - last_update) > (7200000)){
await hldy_lst.getHolidayList();
map.set('last_update', currentTime);
}
return date_util.squareOffTime(exchange);
}
async function getTodayOpenTime(exchange){
let last_update = map.get('last_update');
let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf();
if(!last_update || (currentTime - last_update) > (7200000)){
await hldy_lst.getHolidayList();
map.set('last_update', currentTime);
}
return date_util.getTodayOpenTime(exchange);
}
exports.getNextSchedulingTime = getNextSchedulingTime;
exports.isOpen = isOpen;
exports.squareOffTime = squareOffTime;
exports._init = _init;
exports.getTodayOpenTime = getTodayOpenTime;
// async function marketsStartTime(){
// await hldy_lst.getHolidayList();
// //let yesterday = date_util.getLastWorkingDay();
// //let today = date_util.getNextWorkingDay(yesterday);
// //let tomorrow = date_util.getNextWorkingDay(today);
// //console.log('yesterday ', date_util.covnertToString(yesterday), " today ", date_util.covnertToString(today), " tomorrow ", date_util.covnertToString(tomorrow));
// // console.log(date_util.marketOpenTime(today));
// // console.log(date_util.marketCloseTime(today));
// console.log(date_util.getNextSchedulingTime('MCX'));
// console.log(date_util.isOpen('MCX'));
// // let openTime = date_util.getLastOpenTime('MCX', moment().valueOf());
// // console.log(moment(openTime).format(constants.DATE_TIME_FORMAT));
// }
// marketsStartTime();