The particles 了 (le) and 过 (guò) in Chinese can both come after a verb and both can be used to place events in time. Despite that similarity, they have different functions that are important to get right. You can even use both particles in the same sentence, so here's a run-down of how to use them in relation to each other.
A quick recap of 了 and 过
If you're not sure of what these two particles are for, here's a quick recap.
了 has several different uses and is one of the harder parts of Chinese grammar for learners to get right. You can read more about 了 in Chinese grammar elsewhere on this site. Here are a few 了 example sentences to refresh your memory:
Tài hǎo le!
Wǒ bù xīyān le.
I don't smoke anymore.
Dào le zhīhòu, dǎ gè diànhuà gěi wǒ.
Phone me once you've arrived.
Wǒ hē bùliǎo le.
I can't drink any more.
过 is a bit more straightforward compared to 了. It's used to indicate having experienced an event in the past, or an event having occurred. 过 is covered in more detail elsewhere. A couple of examples:
Wǒ méi jiànguò tā.
I haven't seen him before.
Wǒ qùguò Zhōngguó.
I've been to China.
With that refresher on 了 and 过 separately, let's take a look at how they compare to each other and work together.
Comparing 了 and 过
To see the central difference between these two particles, compare the following example sentences:
Tā qùle liǎng cì.
She went twice.
Tā qùguò liǎng cì.
She's been twice.
In this example, 了 only indicates that the event was completed twice in some time frame that must be clear from context. 过 focuses focuses on it having beenexperienced twice in the past. You can see the different focus in the English translations.
Not, not yet and never
了 can't be used with 没 when talking about the completeness of actions. This makes sense: 了 indicates that an action is complete in the time-frame being talked about, and 没 indicates that something didn't happen, so the two clash with each other.
Instead, 没 is used alone to simply indicate that something did not happen in some specific time frame:
Wǒ méi gēn tā shuō.
I didn't tell him.
As you can see, 没 expresses that this did not happen in the context under discussion. 了 cannot also appear here, as it would clash with that expression.
In contrast, 过 can appear together with 没. That is because it's about an event or action having been experienced in the past. If it has not been experienced, then 没 and 过 can work together to express that:
Wǒ méi gēn tā shuōguò.
I haven't told him.
Again, you can see the difference in the English translations. With 没 alone, the statement is simpler: that thing did not happen then. With 没 and 过, it's more about the current situation: up till now, that has not happened.
Note that using 没 and 过 together does not necessarily mean that something never happened in the history of time. It can have a smaller context, for example:
Wǒ hái méi chīguò fàn.
I haven't eaten.
This probably does not mean that the speaker is a solar-powered cyborg who has never eaten anything in their whole life. It just means that they haven't eaten up till now, possibly all day or since the last time you would expect them to have eaten.
Using 过 and 了 together
The two particles can also appear together in sentences like this:
Nǐ chīguò fànle ma?
Have you eaten (now)?
So what is the difference between that and the more famous "吃饭了吗？"? Functionally there is very little difference: both are asking if you have eaten. As with many of these situations, the difference with 过 is largely emphasis.
The closest thing in English would be the addition of the word "now", as shown in the translation. A more rigid and emphatic translation just to demonstrate this might be "Is it now the case that you have eaten?". But that is ridiculous, so you're better off getting more exposure and input to build a natural feel for this.
Some more examples of using 过 and 了 together:
Shōu lājī de rén láiguòle.
The rubbish collectors have been.
Zhìshǎo nǐ shìguòle.
At least you tried.
To continue the example from above:
Tā qùguò liǎng cìle.
She's been twice now.
Or even more emphatically:
Tā yǐjīng qùguò liǎng cìle.
She's already been twice now.
When 了 and 过 are interchangeable
There are some situations where 了 and 过 are equivalent to each other and either could be used in a sentence. For example:
Wǒ shì chīle fàn cái chūfā de.
I only set off after I'd eaten.
Wǒ shì chīguò fàn cái chūfā de.
I only set off after I'd eaten.
There is no particular difference between these two examples. In each sentence, 了 and 过 mark the action as completed in that time frame.
Source: Boost Chinese