To me, they are the same/interchangeable. I happen to use "for" in all those examples, but could use "in" instead. In the positive case however: I have been eating cereal for a month.
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.