usually, you would use c_str() to convert your String, but as you stated, it does not exist. Instead, try this:
String dateCmd="date +'%Y%m%d %H:%M:%S' -s "; dateCmd+="'20150120 10:42:00'"; system(dateCmd.buffer);
This compiled and executed for me.
Please note though, that your command seems to contain an error:
root@clanton:~# date +'%Y%m%d %H:%M:%S' -s '20150120 10:42:00' date: invalid date '20150120 10:42:00'
Apart from that, you won't see date's output from the program.