Nodejs String to Date Convert toDate(dateIsOmittable, monthIsOmittable)

Here you can find the source of toDate(dateIsOmittable, monthIsOmittable)

Method Source Code

/*/*from  www .j av a  2  s  . co  m*/
 * String-Date JavaScript Library
 * @leafriend
 * http://github.com/leafriend/stringdate.js
 * MIT
 */

String.THROW_WHEN_INVALID_DATE = true

String.prototype.toDate = function(dateIsOmittable, monthIsOmittable) {

    var date = null;
    var str = "0000-00-00";

    if (/^\d{4}-\d{2}-\d{2}$/.test(this))
        str = new String(this);
    else if (dateIsOmittable && /^\d{4}-\d{2}$/.test(this))
        str = this + "-01";
    else if (dateIsOmittable && monthIsOmittable && /^\d{4}$/.test(this))
        str = this + "-01-01";

    date = new Date(str);
    if (isNaN(date.getTime()) || date.toISOString().substring(0, 10) != str)
        if (String.THROW_WHEN_INVALID_DATE)
            throw new Error("String '" + this + "' is not a form of 'yyyy-MM-dd'");
        else
            return undefined;

    return date;

}

Related

  1. toDate()
    String.prototype.toDate = function() {
        return new Date(this.slice(0,15));
    };
    
  2. toDate()
    String.prototype.toDate = function()
      var date, parts, year, month, day, hours, minutes, seconds, ms;
      if (parts = this.match(/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(\.([0-9]{1,3}))?(Z|([-+0-9:]{6}))$/))
        date = Date.parse(this);
        if (isNaN(date)) 
          year    = parts[1];
    ...
    
  3. toDate()
    String.prototype.toDate = () =>{
        var from = $(this).val().split("/");
        var f = new Date(from[2], from[1] - 1, from[0]);
        return f;
    
  4. toDate(pattern = 'YYYY-MM-DD')
    String.prototype.toDate = function (pattern = 'YYYY-MM-DD') {
        let date = new Date()
        if (pattern.indexOf("YYYY") > -1) {
            const yearIndex = pattern.indexOf("YYYY")
            date.setFullYear(this.substring(yearIndex,yearIndex+4))
        if(pattern.indexOf("MM")>-1){
            const monthIndex = pattern.indexOf("MM")
            date.setMonth(this.substring(monthIndex,monthIndex+2)-1)
    ...
    
  5. toDate(str)
    String.prototype.toDate = function(str) {
        var m = this.match(/(\d+)-(\d+)-(\d+)\s+(\d+):(\d+):(\d+)/);
        return new Date(+m[1], +m[2] - 1, +m[3], +m[4], +m[5], +m[6]);
    
  6. toDateFormat(format)
    String.prototype.toDateFormat = function (format) {
        return this.parseToDate().toDateFormat(format);
    };
    
  7. toDateFromAspNet()
    if (!window.console) {
        console = {
            log: function (msg) {
        };
    };
    String.prototype.toDateFromAspNet = function () {
        var dte = eval("new " + this.replace(/\
        dte.setMinutes(dte.getMinutes() - dte.getTimezoneOffset());
    ...