其实,你的句子中的 on 与tonight 无关。这里的 on 不是介词,而是副词,意思是“(指节目、电影、娱乐等)在上演,在放映,在演出”。又如:
Look in the TV guide to see what's on. 看看电视节目表上有什么节目?
What's on at the cinema tonight? 今晚电影院演什么?
There's a good play on at the local theatre. 本地剧院正在上演一出好剧。
What time is the news on? 新闻节目什麽时候开始?
你的句子意思是:今天晚上会上演一个节目,你可能会喜欢。
There’s a programme on tonight which you might like.
句中的 on 是副词,修饰 programme,作定语;which you might like 是定语从句,也是修饰 programme;tonight 是时间状语。
注意下面各句中的 on today, on tonight, on tomorrow, on yesterday 均容易误解,其实其中的 on 与tonight, today, tomorrow, yesterday 均没有直接搭配关系,而是与句中的其他词有搭配关系或另有含义:
He’s got a tie on today. 他今天系着一条领带。(have got sth on 穿,戴,系)
What will you speak on today? 你今晚谈论什么话题?(speak on =talk about = 谈论)
The patient was operated on yesterday. 病人昨天动的手术。(operate on sb = 为某人做手术)
There may be a romantic movie on tonight. 今晚可能上映一部罗曼蒂克的电影。(on = 上演)
My shoes are similar to the ones you had on yesterday. 我的鞋和你昨天穿的鞋很相似。(have sth on = 穿)
Council members are due to have informal discussions later on today. 委员会成员定于今日晚些时候进行非正式讨论。(later on = 晚些时候)
All eyes will be on tomorrow’s vote. 所有目光都将聚集在明天的投票上。(on 与vote 有关)
The group will be performing live on tonight’s show. 该组合将在今晚的节目中进行现场表演。(on 与show 有关)
Film star Matt Damon is one of the special guests on tonight’s programme. 影星马特•达蒙是今晚节目的特邀嘉宾之一。(on 与programme 有关)