Your best source of this information is your airline's website, even if you didn't book with them. For example, the KLM page on intercontinental meals says:
Economy Class intercontinental
On all KLM intercontinental flights, we welcome you on board with a beverage of choice. You are then served your choice of one of our two Delicious hot meals. After dinner, we offer complimentary coffee, tea or a liqueur.
On shorter flights, we serve a sandwich or other snack before landing. On longer flights, we serve a second meal and snacks such as ice cream or sandwiches.
On flights with an early morning arrival time, we serve a delicious breakfast.
We serve hot and cold drinks (alcoholic and non-alcoholic), including soft drinks, fruit juice, beer and wine, together with your meal. Throughout the entire flight, we offer something to drink once every hour.
A la carte menu
On most KLM intercontinental flights departing from Amsterdam, you have an even larger selection of hot meals to choose from when you order an à la carte meal at KLM.com before your flight.
There are links on that page to more information.
For the more general issue of timing, it's my experience that regardless of the length of the flight or the time of day, the first meal is served as close to "immediately" as they can do. A longer flight is usually a larger plane, so "immediately" will take longer, but the process is consistently:
- board, get everyone settled
- announcements and safety video while still on ground, possibly taxi-ing
- take off
- reach height, seat belt sign off
- small pause (10-15 min) for people to ask attendants for things, reset entertainment system, people to use the bathroom
- up and down the aisles delivering headsets (quick because most people have headsets)
- drink service. On a large full plane this can take over half an hour
- pause with aisles clear again so people can go to the bathroom and ask for stuff
- gather up garbage from drink service
- meal service
I'll typically be offered a meal 1-2 hours after getting on the plane and I don't see how it can be any less time than that. If the flight is only four hours, there really isn't a way to do two meal services, because after the meal they need to come by and collect the garbage, then do another drink run, so they would run out of time. (The quote above is about intercontinental flights, which are probably all over 4 hours.) But on a six or eight hour flight, they can do it all again and they typically do. On a 14 hour flight LAX-SYD, United served food three times, though the middle one was just a sandwich. It's much quicker to hand somebody a wrapped item than to ask what they want, put the hot thing on a tray of prepared cold things, pass them the tray which they have to take carefully, etc. Trays also have to be collected afterwards. That said, most European carriers offer a meal service with trays even on a 90 minute flight. They do so by offering food and drinks at the same time - and with a smaller plane it doesn't take as long to "do" the whole plane. On long flights the process is a little more drawn out.