Friday, July 15, 2016

How to return a date period

function returnDatePeriod(returnParam) {
    var today = new Date();
    var returnPeriod = [];
    var startDate = "";
    var endDate = "";
    var d = new Date();
    var dd, mm, yy;
    var weekStartDay = 1;
    var weekEndDay = 0;

    switch (returnParam.toLowerCase()) {
        case "today":
            var mm = today.getMonth() + 1;
            var dd = today.getDate();
            startDate = today.getFullYear() + "-" + (mm < 10 ? "0" + mm : mm) + "-" + (dd < 10 ? "0" + dd : dd) + " 00:00:00";
            endDate = today.getFullYear() + "-" + (mm < 10 ? "0" + mm : mm) + "-" + (dd < 10 ? "0" + dd : dd) + " 23:59:59";

            break;
        case "thisweek":
            for (var i = 0; i < 7; i++) {
                d.setDate(today.getDate() - i);
                if (d.getDay() == weekStartDay) {
                    yy = d.getFullYear();
                    mm = d.getMonth() + 1;
                    dd = d.getDate();
                    i = 7;
                }
            }
            startDate = today.getFullYear() + "-" + (mm < 10 ? "0" + mm : mm) + "-" + (dd < 10 ? "0" + dd : dd) + " 00:00:00";

            for (var i = 0; i < 7; i++) {
                d.setDate(today.getDate() + i);
                if (d.getDay() == weekEndDay) {
                    yy = d.getFullYear();
                    mm = d.getMonth() + 1;
                    dd = d.getDate();
                    i = 7;
                }
            }
            endDate = today.getFullYear() + "-" + (mm < 10 ? "0" + mm : mm) + "-" + (dd < 10 ? "0" + dd : dd) + " 23:59:59";

            break;
        case "lastweek":
            for (var i = 0; i < 7; i++) {
                d.setDate(today.getDate() - i);
                if (d.getDay() == weekStartDay) {
                    d.setDate(d.getDate() - 7);
                    yy = d.getFullYear();
                    mm = d.getMonth() + 1;
                    dd = d.getDate();
                    i = 7;
                }
            }
            startDate = today.getFullYear() + "-" + (mm < 10 ? "0" + mm : mm) + "-" + (dd < 10 ? "0" + dd : dd) + " 00:00:00";

            for (var i = 0; i < 7; i++) {
                d.setDate(today.getDate() - i);
                if (d.getDay() == weekEndDay) {
                    yy = d.getFullYear();
                    mm = d.getMonth() + 1;
                    dd = d.getDate();
                    i = 7;
                }
            }
            endDate = yy + "-" + (mm < 10 ? "0" + mm : mm) + "-" + (dd < 10 ? "0" + dd : dd) + " 23:59:59";

            break;
    }

    returnPeriod.push({ start: startDate, end: endDate });
    return returnPeriod;
}


Tuesday, April 12, 2016

Convert a numeric month to a string month name

function convertMonthToWords(intMonth) {
  var strMonth = "";

  if (intMonth == undefined || intMonth == isNaN || Number(intMonth) < 1 || Number(intMonth) > 12) {
    strMonth = "Invalid Month";
  }
  else {
    var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

    strMonth = monthNames[Number(intMonth - 1)];  // -1 because javascript month starts with 0 for January
  }
  return strMonth

}

Use it like this:
var strMonth = convertMonthToWords(2);    // strMonth will be March

Friday, April 8, 2016

Append characters to the end of a string

function appendString(length, StringToAppendTo, appendStringWith) {
  var returnString = ""

  returnString += StringToAppendTo;

  if (StringToAppendTo.length < length) {
    for (var i = 0; i < length - 1; i++) {
      returnString += appendStringWith;
    }
  }

  return returnString;
}

Use it like this:

var appendedString = appendString(2, "1", "0");

Pad string with characters

function padString(length, StringToPad, PadStringWith) {
  var returnString = ""

  if (StringToPad.length < length) {
    for (var i = 0; i < length - 1; i++) {
      returnString += PadStringWith;
    }
  }

  returnString += StringToPad;

  return returnString;
}

Use it like this:

var strMonth = padString(2, "11", "0");