1) You can make a timer in javascript, check time and show the button. It is quite simple:
<script>
var myVar = setInterval(function () {myTimer()}, 1000);
var target = new Date(2015, 00, 14, 20, 33, 00);
function myTimer() {
var d = new Date();
if(d > target){
document.getElementById("buy").style.visibility = "visible";
clearTimeout(myVar);
}
}
</script>
<button id="buy" style="visibility:hidden;">Buy now!</button>
But:
2) Which time? Who's time? Local time will differ from your server's time, and can be simply altered.
3) If somebody looks at the emitted code, he will see, what happens on that specific time, and can simply call it.
3) If I know, that there is a button I can make it visible in notime.
So, you better not hide it just, disable it. But also make sure, to check on server side if the action is legitimate or not. As you can not trust the client's clock, you better implement your own "clock" or countdown on client side to trigger enabling button.