You call to fopen is a bit odd as it uses s, your string containing the timestamp as the filename. Is that what you intended? Are you trying to put the same timestamp as the file name into the file? If so, it'd look like:
fprintf(f, "%s\n", s);
Having the filename and the file contents seems a bit odd, though.
int fp is unused.
buffer s is sized for 30, and the way your call to strftime will ensure that it is null terminated, but be aware that giving a size of 30, the max number of bytes to write doesn't include a null. Putting it in the format string isn't a bad idea, but if it the output was actually 30 characters, it would write all 30, then a null, overrunning your buffer by 1.