No, not really. I feel like most bad habits are things you do want in the moment but have some kind of long term consequence you don't want. So what does work for me is to ask, "is this worth it?" If I want to save money and am tempted to buy something frivolous, is it worth whatever I'll have to give up later? If I want to lose weight and am tempted by a donut, is it worth giving up other food later/having that extra weight/having to work out extra? If I'm tempted to stay up too late, will it be worth being miserable in the morning?
Actually what I ask is "how pissed will future me be about this?" and it does work pretty well. Occasionally the answer is "very, but she can do nothing to me about it, so sucks for her", and I will later curse my past self for being such a selfish dick, but hey, you gotta live in the moment sometimes.