code: func monthHasDow(dow, dom, month, year int) bool {
  	if !monthHasDom(dom, month, year) {
  		return false
  	}
  	Nday := dom % 7
  	var Nmonth int
  	switch month {
  	case 1:
  		Nmonth = 0
  	case 2:
  		Nmonth = 3
  	case 3:
  		Nmonth = 3
  	case 4:
  		Nmonth = 6
  	case 5:
  		Nmonth = 1
  	case 6:
  		Nmonth = 4
  	case 7:
  		Nmonth = 6
  	case 8:
  		Nmonth = 2
  	case 9:
  		Nmonth = 5
  	case 10:
  		Nmonth = 0
  	case 11:
  		Nmonth = 3
  	case 12:
  		Nmonth = 5
  	}
  	var Nyear int
  	temp := year % 100
  	if temp != 0 {
  		Nyear = (temp + (temp / 4)) % 7
  	} else {
  		Nyear = 0
  	}
  	Ncent := (3 - ((year / 100) % 4)) * 2
  	var Nsj int
  	if isLeapYear(year) {
  		Nsj = -1
  	} else {
  		Nsj = 0
  	}
  	W := (Nday + Nmonth + Nyear + Ncent + Nsj) % 7
  	return dow == W
  }
docs: // Check if the combination of day(of month), month and year is the weekday dow.