How/When do Merchants restock their goods? I've noticed that they only have new gear/stuff when I'm out in the wilds exploration and killing shit for extended periods of time (More then a few hours).

Do they restock hourly? When you complete a Quest? Exiting and re-entering zone? Visit another merchant?