There is no definite answer for this as it can vary between speeds and speed can vary as soon as the download starts.
Microsoft website has a similar kind of thing which you are looking for. An example is here.. But that too has a approximate time and will never be perfect. Below is the code from the page. They just show an approximate time based on the connection speed we manually select.
function getTime(selection) {
var opt = selection.options[selection.selectedIndex].value;
var obj = document.getElementById("displayTime");
if (opt == "du56") {
obj.innerHTML = " 7 min ";
} else if (opt == "dsl256") {
obj.innerHTML = " 2 min ";
} else if (opt == "dsl768") {
obj.innerHTML = " 1 min ";
} else if (opt == "t1") {
obj.innerHTML = " 1 min ";
}
}