Si vous avez un adjectif qui termine par un x et qui est suivi d’un nom commençant par une voyelle ou un h muet, vous prononcerez la lettre x comme un z. C'est une liaison.
Il est deux heures. J’ai dix ans.
Si par contre, un adjectif terminé par x est suivi d’un nom commençant par une consonne ou un h aspiré, la lettre x doit rester muette.
Elle a dix jours de vacances. Il y a six lions.
Il y a un cas particulier : dans les nombres dix-huit et dix-neuf, on prononce le x comme un z ([di.zɥit], [diz.nœf]). On prononce aussi parfois le x comme un s dans dix-sept : [dis.sɛt] ou [di.sɛt].
Pour ce qui est de dix et six, lorsqu'ils sont isolés, le x est prononcé effectivement comme un ss.
J'en ai dix. J'en ai vu six.
C'est surtout une question d'usage et non de grammaire.