Canvases are by default transparent unless you style them with a CSS-rule that sets the background color.
Canvas element itself provides only the, well canvas, or the bitmap you want to draw to. In order to actually be able to draw onto it you need to expose the drawing interface called context.
F.ex, first your code with some modifications:
var canvas1 = document.getElementById('clock');
canvas1.width = window.innerWidth;
canvas1.height = window.innerHeight-6;
var canvas2 = document.getElementById('second');
canvas2.width = window.innerWidth;
canvas2.height = window.innerHeight-6;
(remember to use var or else the "variable" ends up on the global scope as a property instead).
Now, continue with the following:
var ctx1 = canvas1.getContext('2d');
var ctx2 = canvas2.getContext('2d');
This will give you the mentioned context for each canvas. Now you will be able to draw onto the canvas by using the context's commands, f.ex:
Hope this help you on onto the right track.
I am not sure why you would want to use two canvases like this though. The use of two canvases is useful if you want to draw the graphics onto an off-screen canvas first (where one is created manually in code) and then 'blit' its content to the on-screen canvas. This may or may not give a little performance boost (depending on environment, machine etc).
For a clock this will probably be overkill as most updates are done per 1 second (unless you want to animate the second pointer continuously). I would therefor recommend you to use just one canvas for this purpose.
See a reference on the commands that you can use with canvas here with examples: