1) The device will have a clock that gives you date and time when you request it.
2) When you ask the server for its time save the difference, if any, between that and device time so you can synchronise their clocks.
3) Sorry, no idea. I've never really understood background services in Android.