Hola,
In Spain we usually say:
En España decimos habitualmente:
Estoy de mal humor.
That's what you will find in dictionaries and books, and you can say it wherever.
Esto es lo que pone en el dictionario y en los libros, y lo puedes decir donde sea.
Anyway, I agree with Paula. Estoy de acuerdo con Paula:
Estoy de mala hostia is impolite and colloquial, but that's what you'll hear in the street. So, you write it down, too. That's "real life Spanish"
Estoy de mala hostia es mal educado e informal, pero es lo que vas a escuchar por la calle. Así, que toma nota también. Es una expresión de "Español real en directo".
... sometimes, we are very strictly taught, and then, we don't get a word when we meet native speakers (... not teachers )