diff --git a/completeLink.js b/completeLink.js
index ac85b92..863e004 100644
--- a/completeLink.js
+++ b/completeLink.js
@@ -3,21 +3,21 @@
 	if(linkOutput == "") linkOutput = "https://docs.google.com/forms/d/e/1FAIpQLSfT9o287VqLyhwR8LPdloAQWhuqCgA3NfdhgP5vb9_sVQHL-g/viewform";
     for (i = 0; i < mydata.length; i++) { 
     	var h = mydata[i].hora.split(":");
-		if(h[0] == (hora_actual.getHours() - 7).toString()) {
+        console.log(h[0]);
+        console.log((hora_actual.getHours()).toString() - 3);
+		if(h[0] == (hora_actual.getHours()).toString() - 1 - 2) {
 			console.log("trobat");
 			document.getElementById("assignatura").innerHTML = mydata[i].nom;
 			document.getElementById("aula").innerHTML = "Aula " + mydata[i].aula;
 
             var datamap=[
                 "entry.1063142948=" + mydata[i].aula,
-                "entry.1749141911=" + (hora_actual.getHours().toString() - 11) +":00",
-                "entry.1827359679=" + (hora_actual.getHours().toString() - 10) +":00",
-                "entry.2115504093=" + any.toString() + '-' + mes.toString() + '-' + dia.toString(),
+                "entry.1749141911=" + ((hora_actual.getHours() - 11).toString()) +":00",
+                "entry.1827359679=" + ((hora_actual.getHours() - 10).toString()) +":00",
+                "entry.2115504093=" + getYearFormat() + '-' + getMonthFormat() + '-' + getDayFormat(),
                 "entry.1077148310=Columna+" + document.getElementById("seientInput").value
                 ];
-            linkOutput += "?"+ datamap[1] + "&" + datamap[2] + "&" + datamap[3] + "&" + datamap[0] + "&" + datamap[4];
-            linkOutput += "&entry." + codisFiles[document.getElementById("seientInput").value.toUpperCase().charCodeAt(0) - 65] + "=Columna+" + document.getElementById("seientInput").value.charAt(1);
+            window.location.href = linkOutput + "?"+ datamap[1] + "&" + datamap[2] + "&" + datamap[3] + "&" + datamap[0] + "&" + datamap[4] + "&entry." + codisFiles[document.getElementById("seientInput").value.toUpperCase().charCodeAt(0) - 65] + "=Columna+" + document.getElementById("seientInput").value.charAt(1);
 		}
 	}
-	console.log(linkOutput);
 }
\ No newline at end of file
diff --git a/getTimeAndDate.js b/getTimeAndDate.js
index 447e444..ff827ef 100644
--- a/getTimeAndDate.js
+++ b/getTimeAndDate.js
@@ -16,3 +16,20 @@
       any = hora_actual.getFullYear();
       data = dia.toString() + '/' + mes.toString() + '/' + any.toString();
 }
+
+function getDayFormat() {
+      dia = hora_actual.getDate();
+      if(dia < 10) return "0" + dia;
+      else return "" +dia;
+}
+
+function getMonthFormat() {
+      mes = hora_actual.getMonth() + 1;
+      if(mes < 10) return "0" + mes;
+      else return "" + mes;
+}
+
+function getYearFormat() {
+      any = hora_actual.getFullYear();
+      return "" +any;
+}
\ No newline at end of file
diff --git a/main.html b/main.html
index 634dc59..b0c739a 100644
--- a/main.html
+++ b/main.html
@@ -40,7 +40,8 @@
 
 		<form id = "link">
         <!--<form id = "link" action = https://docs.google.com/forms/d/e/1FAIpQLSfT9o287VqLyhwR8LPdloAQWhuqCgA3NfdhgP5vb9_sVQHL-g/viewform?entry.1063142948=S03&entry.2115504093=2020-09-14&entry.1749141911=9:00&entry.1827359679=10:00&entry.208184485=Columna+3&entry.1600275159=[Autogenerat+per+delefme/covid-tracability]>-->
-		<button onclick="completaLink()">Continua</button>
+        	https://docs.google.com/forms/d/e/1FAIpQLSfT9o287VqLyhwR8LPdloAQWhuqCgA3NfdhgP5vb9_sVQHL-g/viewform?entry.1749141911=8:00&entry.1827359679=9:00&entry.2115504093=2020-9-22&entry.1063142948=S02&entry.1077148310=Columna+d4&entry.1686039024=Columna+4
+		<button type="reset" onclick="completaLink()">Continua</button>
 		</form>
 
         <script>
