"we spent together" or "we have spent together"?

Solution 1:

Grammatically speaking, either is correct. For shades of meaning, "the great moments we spent together" has, as vehomzzz mentions, a subtle element of specificity in it; the phrase implies that you have a well-defined set of a few particular moments in mind that you are thanking them for. "The great moments we've spent together", on the other hand, has a slightly more nebulous, inclusive feel to it, allowing the implication that there are moments you might not be thinking of right now but would definitely agree were great and deserve to be included, or that others' sets of 'great moments' might be different than your own.

Solution 2:

You can say either one of these phrases — for now.

Background

The present perfect tense ("we've spent") connects a past action with the present. This means that the past action was either just completed (#2 below), or is still ongoing (#1). When there is clearly no connection to the present (with a word like "yesterday"), the sentence is ungrammatical (#3):

  • 1) I've had a bad day so far. (middle of the day, not done having the day yet)
  • 2) I've had a bad day today. (going to bed or when the clock is striking midnight)
  • 3) I've had a bad day yesterday. (ungrammatical)

The simple past ("we spent") makes no connection to the present. Therefore, it can be used in cases where the action is recently completed (#5 below) but not when the action is ongoing (#4, although in casual speech, this particular rule is relaxed). Events clearly completed work perfectly with simple past (#6):

  • 4) I had a bad day so far. (ungrammatical or overly casual)
  • 5) I had a bad day today. (going to bed, clock striking midnight; day is effectively over)
  • 6) I had a bad day yesterday. (grammatical)

Your situation

We are currently in a time where you can consider 2010 to be just completed. That means we are in the situation that corresponds to #2 and #5 from my examples. Since it is done, you can use simple past; since it is just done, you can use present perfect. Neither would be grammatically more correct at this time.

The line for this is fuzzy, but at some point — a couple weeks, the start of February, etc. — it won't make sense to consider 2010 to be "just" completed, and thus the present perfect will no longer work. For now, it still does.