I am about 3 weeks from our 3-year anniversary of D-day. From my experience so far, both personally and from what I've seen on SI, there doesn't seem to be a predictable timeline in terms of forgiveness, either for ourselves or our spouses. At the 8 month mark, I have to admit that I was simply not ready to cross that hurdle.
Let me ask you something... for a moment, let's pretend that you ARE able to forgive yourself, and do so. Now what? What does that mean to you, or what does it do for you? What does it gain or remove in your life or your relationship or struggles? Does it really fix or change anything? Why do you need to forgive yourself in order to move on?
The affair is part of your life story. The same as that time you pooped your pants, or asked your crush out, or got turned down by your crush, or scored the big play in the game, or graduated school, or called your best friend a bitch, or got so sick you almost died. We all have positive and negative experiences that make us the person we are today. This is simply one more.
Forgive yourself, don't forgive yourself... it makes little difference in the end, in my opinion anyway. The big question, and this is the one my wife asks me all the time, is... "What are you going to do about it?"
Here is what I suggest. You will probably never "be okay" with what you did, and in my opinion, you shouldn't be. It was a terrible thing, and the scars will last a lifetime, for both of you. Rather than seeing it as a reason to hate or punish yourself, instead see it as a stepping stone, a lesson, a reason to motivate yourself to change and be someone better. WS's have a tendency to wallow in hurt and shame anyway, and we don't need to feed that beast any more than we already have.
Try this. Close your eyes, take a few deep breaths, and then say the following out loud, slowly and clearly.
"I cheated on my spouse. I did it on purpose. It was wrong, I knew that, and I did it anyway. There was no way I could love my spouse and betray them so bitterly. I am not proud of what I did, and it was not okay. Admitting that changes nothing however. Feeling guilty changes nothing either. The only thing that makes a change, is change itself. From now on, I will look back at this, not with guilt and shame, but with drive and intention. I will embrace the affair and never forget about it, because it showed me who I really am, and I never want to be that kind of person ever again. The person who cheated, and the person I am today, are the same person. From now on, I will be a better person. A better me."
You can't change the past. You just can't. You can only change how you react to it, and how you interpret it. Right now, guilt and shame are simply more symptoms of a selfish and entitled point of view. It's easier to feel sorry for ourselves than to have the courage, conviction and fortitude to do something about it.
Last thought. If you hit a dog in the road, you'd likely feel really guilty over it. But hopefully, not so guilty that you wouldn't stop and drive the dog to the vet to help it. Your guilt won't help the dog to feel better, nor will it pay the vet bills. The way to stop feeling guilty over having done something wrong is to take whatever actions you can to fix it. Get the dog to the vet, and learn to drive more carefully in the future, and take any other steps you can to assure you never hit another dog if you can help it.
The affair is the same. The guilt will subside at some point, at least some, and the best way to initiate that is to let it go, and work on positive change. You'll feel better when you are no longer a person that could do that to someone.