How to use moment-timezone - 10 common examples

To help you get started, we’ve selected a few moment-timezone examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github kevinsuh / toki / src / bot / controllers / work_sessions / endWorkSession.js View on Github external
console.log("all work sessions:");
							console.log(workSessions);

							var endTime = moment();
							// IF you chose a new task not on your list to have completed
							if (differentCompletedTask) {

								var minutes; // calculate time worked on that task
								if (workSessions.length > 0) {

									// use this to get how long the
									// custom added task took
									var startSession = workSessions[0];
									var startTime    = moment(startSession.startTime);
									minutes          = moment.duration(endTime.diff(startTime)).asMinutes();

								} else {
									// this should never happen.
									minutes = 30; // but if it does... default minutes duration
								}

								// create new task that the user just got done
								user.getDailyTasks({
									where: [ `"DailyTask"."type" = ?`, "live" ]
								})
								.then((dailyTasks) => {
									const priority = dailyTasks.length+1;
									const text     = differentCompletedTask;
									// record the different completed task
									models.Task.create({
										text,
github Foundry376 / Mailspring / app / src / date-utils.ts View on Github external
import moment from 'moment-timezone';

// Init locale for moment
moment.locale(navigator.language);

// Initialise moment timezone
const tz = moment.tz.guess();
if (!tz) {
  console.error('DateUtils: TimeZone could not be determined. This should not happen!');
}

const yearRegex = / ?YY(YY)?/;

const Hours = {
  Morning: 9,
  Evening: 20,
  Midnight: 24,
};

const Days = {
github openaq / openaq-fetch / adapters / sweden.js View on Github external
rows.forEach((row, index) => {
      row = row.split(']').join('').trim().split(',');

      // First column contains the hour of the recordings
      var date = moment.tz(row[0], 'HH:mm', 'Europe/Stockholm').date(moment().date());

      // Adapt date to yesterday for the relevant measurements
      if (date > moment(rows[rows.length - 1], 'HH:mm').date(moment().date())) {
        date.subtract(1, 'day');
      }

      date = {utc: date.toDate(), local: date.format()};

      // Now loop over all the measurements, for now just try and insert them
      // all and let them fail at insert time. This could probably be more
      // efficient.
      legend.forEach((e, i) => {
        // Filter out time or background columns
        if (e === 'Tid' || e.includes('bakgrund')) {
          return;
        }

        var city = 'Stockholm';
        if (e.includes('Uppsala')) city = 'Uppsala';
github openaq / openaq-fetch / adapters / airnow-ftp.js View on Github external
exports.fetchData = function (source, cb) {
  // A workaround to getting rate limited for 6 logins in 1 hr for AirNow
  // system. Only try to grab data in last 20 minutes of an hour.
  if (moment().minute() < 40) {
    return cb(null, {name: 'unused', measurements: []});
  }

  // First fetch the stations list and then get the latest measurements
  const file = 'Locations/monitoring_site_locations.dat';
  const lineToObj = function (line) {
    const convertCity = function (city) {
      if (!city) {
        return;
      }

      return city.split(',')[0].trim();
    };

    return {
      aqsid: line[0],
github openaq / openaq-fetch / adapters / airnow-ftp.js View on Github external
const niceParameter = function (parameter) {
      switch (parameter) {
        case 'OZONE':
          return 'o3';
        case 'PM2.5':
          return 'pm25';
        default:
          return parameter.toLowerCase();
      }
    };

    // Get the measurements
    // Filename should be the current time in UTC like '2016030616' and then
    // get the previous hours measurements
    const dateString = moment.utc().subtract(1, 'hours').format('YYYYMMDDHH');
    const file = `HourlyData/${dateString}.dat`;
    const lineToObj = function (line) {
      return {
        aqsid: line[2],
        day: line[0],
        hour: line[1],
        location: line[3].trim(),
        timezoneOffset: Number(line[4]),
        parameter: niceParameter(line[5]),
        unit: niceUnit(line[6]),
        value: Number(line[7]),
        attribution: [{name: 'US EPA AirNow', url: 'http://www.airnow.gov/'}, {name: line[8].trim()}],
        averagingPeriod: {unit: 'hours', value: 1}
      };
    };
    getObjects(source.url, file, lineToObj, (err, measurements) => {
github kevinsuh / toki / src / bot / controllers / work_sessions / startWorkSession.js View on Github external
.then((dailyTasks) => {

									// if there is an already open session we will store it
									// and if it is paused

									let now           = moment();
									let endTime       = moment(openWorkSession.endTime);
									let endTimeString = endTime.format("h:mm a");
									let minutes       = Math.round(moment.duration(endTime.diff(now)).asMinutes());
									var minutesString = convertMinutesToHoursString(minutes);

									let dailyTaskTexts = dailyTasks.map((dailyTask) => {
										return dailyTask.dataValues.Task.text;
									});

									let sessionTasks = commaSeparateOutTaskArray(dailyTaskTexts);

									currentSession = {
										minutes,
										minutesString,
										sessionTasks,
										endTimeString,
github LessWrong2 / Lesswrong2 / packages / lesswrong / lib / karmaChanges.js View on Github external
}

      // If you've never opened the menu before, then return the last daily batch, else
      // create batch for all periods that happened since you last opened it
      const startDate = lastOpened ? moment.min(oneWeekPrior, moment(lastOpened)) : oneWeekPrior
      return {
        start: startDate.toDate(),
        end: lastWeeklyReset.toDate(),
      };
    }
    case "realtime":
      if (!lastOpened) {
        // If set to realtime and never opened before (eg, you just changed the
        // setting), default to the last 24 hours.
        return {
          start: moment().subtract(1, 'days').toDate(),
          end: now
        }
      } else {
        return {
          start: lastOpened,
          end: now
        }
      }
  }
}
github getsentry / sentry / src / sentry / static / sentry / app / components / stackedBarChart.jsx View on Github external
timeLabelAsRange(interval, point) {
    const timeMoment = moment(point.x * 1000);
    const nextMoment = timeMoment.clone().add(interval - 1, 'second');
    const format = this.use24Hours() ? 'MMM Do, HH:mm' : 'MMM Do, h:mm a';

    // e.g. Aug 23rd, 12:50 pm
    return (
      <span>
        {timeMoment.format(format)}
        →
        {nextMoment.format(format)}
      </span>
    );
  }
github DFEAGILEDEVOPS / MTC / admin / helpers / school-home-feature-eligibility-presenter.js View on Github external
schoolHomeFeatureEligibilityPresenter.getPresentationData = (checkWindowData, timezone) => {
  const currentDate = moment.tz(timezone || config.DEFAULT_TIMEZONE)
  const featureEligibilityData = {}
  const resultsPublishedDate = checkWindowData.checkEndDate.clone()
    .add(1, 'weeks').isoWeekday('Monday')
    .utcOffset(currentDate.utcOffset(), true)
    .set({ hour: 6, minutes: 0, seconds: 0 })

  // Pin generation
  featureEligibilityData.familiarisationCheckStartDate = dateService.formatFullGdsDate(checkWindowData.familiarisationCheckStartDate)
  featureEligibilityData.familiarisationCheckEndDate = dateService.formatFullGdsDate(checkWindowData.familiarisationCheckEndDate)
  featureEligibilityData.liveCheckStartDate = dateService.formatFullGdsDate(checkWindowData.checkStartDate)
  featureEligibilityData.liveCheckEndDate = dateService.formatFullGdsDate(checkWindowData.checkEndDate)

  // Results
  featureEligibilityData.resultsPublishedDate = dateService.formatFullGdsDate(resultsPublishedDate)

  // TODO: logic related properties should get refactored into services
github Foundry376 / Mailspring / app / src / components / nylas-calendar / week-view.jsx View on Github external
_calculateStartMoment(props) {
    let start;

    // NOTE: Since we initialize a new time from one of the properties of
    // the props.currentMomet, we need to check for the timezone!
    //
    // Other relative operations (like adding or subtracting time) are
    // independent of a timezone.
    const tz = props.currentMoment.tz();
    if (tz) {
      start = moment.tz([props.currentMoment.year()], tz);
    } else {
      start = moment([props.currentMoment.year()]);
    }

    start = start
      .weekday(0)
      .week(props.currentMoment.week())
      .subtract(BUFFER_DAYS, 'days');
    return start;
  }