Shifting local rotation axis of objects new to blender, but eager to learn, and spending lots of time with blender now.
I am trying to make a simple solar animation in Blender 2.79, Cycles engine.

The earth spins around the sun's (scene's) Z axix, but earth also has a constant tilt of 23.4 degrees to the sun. I need to keep this earth tilt constant and make the earth spin around it's own Z axis.

I cannot figure out how shift the earth-mesh-objects coordinates.
Even if I set the transformation orientation to Local, the earth still spins around the global scene's Z axis when I try to animate or rotate the Z axis of the earth.

I have googled and searched but cannot find an answer. 
BTW! I don't want to change the angle of the sun to the earth to achieve the same effect. I also suppose I could manually apply rotations to all axis of the earth to simulate this, but this complicates things as I also have other objects I need to apply this to.

Any tips on how to separate the earths axis from the scene and being able to apply separate/local rotations? As you see in the attached picture the sun and the earth mesh has different axis, but still, when trying to animate the earth it rotates around the scene/suns axis and shifts the poles of the earth around.
I thought I solved this. Using custom transformation from another object, eg. the axis I have through the sphere. The only thing is the earth mesh still seem to be calculating the coordinates from the global scene, and aligning to the custom transformation object. It would be nice If the X and Y axis would be kept at Zero (0) and only the Y axis changing values when I rotate the Y axis.

If I lock the X and Y axis, and now try to drag or change only the Z axis of the sphere, or to animiate it, it still spins around the global axis.

SOLUTION: Found out I had to change the Rotation from XYZ Euler to ZXY Euler, now rotating the Z axis gives me what I wanted.