[Question]
  [
### Task
Write a program or function that takes as input a time in UTC, and outputs the equivalent time in **5 different cities** around the world. The cities displayed are up to the programmer, but the **time must be different** in each city.
To prevent golfers from using overly obscure city names, the city names used must appear on this list: [World Cities](https://pastebin.com/xmRiwZiQ)\*, which corresponds to the list of cities and times found [here](https://www.timeanddate.com/worldclock/).
As usual, [Standard loopholes](https://codegolf.meta.stackexchange.com/questions/1061/loopholes-that-are-forbidden-by-default/1062#1062) are forbidden, including fetching data from an external source.
\*The times provided in the pastebin use daylight time and assume that the time is 0:30 UTC.
### Example
Given as input 12:30AM, your output might be:
```
Athens: 3:30AM
London: 1:30AM
New York: 8:30PM
Seoul: 9:30AM
Beijing: 8:30AM
```
### Input
You may take input in any reasonable format. You can choose to take the time as 24-hour time, or 12-hour time with `AM` and `PM`. Specify the input format in your answer.
### Output
Output may also be in either 12-hour or 24-hour time. The city-time pairs may be in any order and any reasonable format, so long as it is possible to associate each city with the corresponding time.
Daylight Savings Time can safely be ignored (ie. you can either use the offsets from the pastebin above, or you can assume that all times are in daylight time, or alternatively all in standard time)
### Scoring
This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'"). Happy golfing!
  
[Answer]
# [Python 2](https://docs.python.org/2/), ~~80~~ ~~79~~ 77 bytes
-1 byte thanks to [Surculose Sputum](https://codegolf.stackexchange.com/users/92237/surculose-sputum).
24-hour time, input as `hours, minutes`.
```
h,m=input();i=h
exec"print'ALCADcaamucgimbroraaasoni'[i-h::5],i%24,m;i+=1;"*5
```
[Try it online!](https://tio.run/##K6gsycjPM/r/P0Mn1zYzr6C0REPTOtM2gyu1IjVZqaAoM69E3dHH2dElOTExtzQ5PTM3qSi/KDExsTg/L1M9OlM3w8rKNFYnU9XIRCfXOlPb1tBaScv0/38DHQVjAwA "Python 2 – Try It Online")
Example output for `0, 30` (12:30AM):
```
Accra 0 30
Lagos 1 30
Cairo 2 30
Amman 3 30
Dubai 4 30
```
[Answer]
# [Python 2](https://docs.python.org/2/), ~~71~~ 65 bytes
*Save 2 bytes using @dingle dooper's printing through `input()` trick!*
```
t=input('Accra Lagos Rome Kyiv Dubai ')
exec"print t%24,;t+=1;"*5
```
[Try it online!](https://tio.run/##K6gsycjPM/r/v8Q2M6@gtERD3TE5uShRwScxPb9YISg/N1XBuzKzTMGlNCkxU0Fdkyu1IjVZqaAoM69EoUTVyETHukTb1tBaScv0/38jI21D0ywA "Python 2 – Try It Online")
Takes input as a complex number (e.g `01:30` is inputted as \$1+30i\$), and prints out the list of cities, then the corresponding times. Uses 24-hour time.
[Answer]
# [Bash](https://www.gnu.org/software/bash/) + Core utilities, ~~79~~ ~~78~~ 72 bytes
```
for c in Amman Dubai Kabul Dhaka Seoul;{ TZ=Asia/$c date +$c\ %R -d$1Z;}
```
[Try it online!](https://tio.run/##S0oszvj/Py2/SCFZITNPwTE3NzFPwaU0KTFTwTsxqTRHwSUjMTtRITg1vzTHulohJMrWsTgzUV8lWSElsSRVQVslOUZBNUhBN0XFMMq69v///4aWViamAA "Bash – Try It Online")
Input is passed as an argument, and output is on stdout. Both are in 24-hour time.
[Answer]
# Google Sheets, ~~82~~ ~~77~~ 80 bytes
*Saved 5 bytes by finding a shorter list of city names that are all off by 1 hour.*  
*Added 3 bytes thanks to Surculose Sputum pointing out that I was referencing the wrong list.*
```
=ArrayFormula(Split("Lagos,Rome,Kyiv,Dubai,Kabul",",")&Mod(A1+Column(A:E),24)&B1
```
Sheets will automatically add the trailing parentheses. Hours are input in `A1` and minutes in `B1`.
`Split(~)` gives us the list of city names.  
`A1+Column(A:E)` iterates the input time by ones.  
`Mod(~,24)` accounts for when the clock rolls to the next day.  
`Split(~)&Mod(~)&B1` tacks on the minutes.  
`ArrayFormula(~)` makes the whole thing work on arrays instead of just the first value.
[![enter image description here](https://i.stack.imgur.com/lToyu.png)](https://i.stack.imgur.com/lToyu.png)
There aren't any delimiters between the city name and the time because pretty costs bytes. It's fairly easy to distinguish between the end of the name and the start of the time, though, since none of the city names have numbers in them.
[Answer]
# Befunge-93, 238 bytes
```
&&\" arccA",,,,,,:.\:.\" nammA",,,,,,3+:345*+`!v v    <
>    v v          `+*543:+3,,,,,,"Dhaka "\.:\.:_#<83*-^
^-*38>#_         :.\:.\" luoeS",,,,,,3+:345*+`!v v    <
>    v v          `+*543:+3 ,,,,,"Suva " \.:\.:_#<83*-^
^-*38>#_:.\:.@
```
[Try it online!](https://tio.run/##S0pNK81LT/3/X00tRkkhsSg52VFJBwys9GKASEkhLzE3FyZmrG1lbGKqpZ2gWKZQpgAENlx2IArKg4AEbS1TE2MrbWOIHiWXjMTsRAWlGD0rIIpXtrEw1tKN44rT1TK2sFOOh2uD2ZdTmp8aTJZ9ChD7gkvLgNYp4LAPbI3D//@GllxG5gA "Befunge-93 – Try It Online")
Reads the hour and minutes from the input. For each city, except the first, it adds 3 to the hour, then checks whether it exceeds 23. If it does, it makes a small loop to subtract 24. The rest is just printing strings, moving the PC around and swapping the hours/minute to/from the top of the stack.
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), 25 bytes
Thanks to Kevin Cruijssen for shaving off 7 bytes.
```
”Accra‡¸«ÄçªâÈ”#ε¹N+24%²»
```
[Try it online!](https://tio.run/##ATkAxv9vc2FiaWX//@KAnUFjY3Jh4oChwrjCq8OEw6fCqsOiw4jigJ0jzrXCuU4rMjQlwrLCu///MjEKMDA "05AB1E – Try It Online")
# [05AB1E](https://github.com/Adriandmen/05AB1E), 32 bytes
Just another port of Surculose Sputum's answer. It produces quite an ugly output, due to joining by newlines.
```
”Accra Lagos«Ä KyivâÈ”#ε¹N+24%²»
```
[Try it online!](https://tio.run/##yy9OTMpM/f//UcNcx@TkokQFn8T0/OJDqw@3KHhXZpYdXnS4AyilfG7roZ1@2kYmqoc2Hdr9/7@RIZeBAQA "05AB1E – Try It Online")
# Explanation (for both)
```
”...”           Compressed string with the cities
     #          Space-split
      ε         Map:
                    Implicit current city pushed
       ¹            First input:
        N+              Add by the iteration counter
          24%       Modulo by 24
             ²      Append the second input
              »     Join the whole stack by newlines.
```
[Answer]
# [q](http://kx.com/download), 43 40 bytes
```
{`Accra`Cork`Rome`Doha`Dubai!x+60*til 5}
```
No Tio unfortunately for q
q has built in time types that you can perform arithmetic with, so simple enough
```
Example:
q){`Accra`Cork`Rome`Doha`Dubai!x+60*til 5}00:30
Accra| 00:30
Cork | 01:30
Rome | 02:30
Doha | 03:30
Dubai| 04:30
```
[Answer]
# [Vyxal](https://github.com/Vyxal/Vyxal), 26 bytes
```
5ɾ+₆+24%$S+`∴∷₇›†↵ƈ…±↑`5/Y
```
[Try It Online!](https://vyxapedia.hyper-neutrino.xyz/tio#WyIiLCI1yb4r4oKGKzI0JSRTK2DiiLTiiLfigofigLrigKDihrXGiOKApsKx4oaRYDUvWSIsIiIsIiIsIjBcbjMwIl0=)
Takes in `<hour>` `<minute>`, outputs an interleaved list of `<time>|<city>`.
My first Vyxal answer... it took me an embarrassingly long time to figure out how to properly deal with input.
[Answer]
# [C (gcc)](https://gcc.gnu.org/), 92 bytes
```
i;f(h,m){for(i=0;i<5;)printf("%s %d:%d;","AccraLagosRome.Kyiv.Dubai"+6*i++,(h+i)%24,m);}
```
[Try it online!](https://tio.run/##S9ZNT07@/z/TOk0jQydXszotv0gj09bAOtPG1FqzoCgzryRNQ0m1WEE1xUo1xVpJR8kxObkokcEnMT2/mCEoPzeVQc@7MrOMQc@lNCkxU0nbTCtTW1tHI0M7U1PVyARoonXt/9zEzDwNoNEaBjrGBiABAA "C (gcc) – Try It Online")
Port of Bash, didn't check map
# [C (gcc)](https://gcc.gnu.org/), 94 bytes
```
i;f(h,m){for(i=0;i<15;i+=3)printf("%s %d:%d;","AccraAmmanDhakaSeoulSuva"+2*i,(h+i)%24,m);}
```
[Try it online!](https://tio.run/##FcxBDsIgEABAnmJISBbBBFu9iD008Qd9wWYrsqlQg9aL8e1Yr3MY2t2IamUfINqkP2EuwJ3zfN4fPZuu1Y/C@RVAqudGjSc1emllT1RQ9ClhFpeIE4rhOi93MSxvlKbZsoVoWKvmsJ7@WxNyhjUHZ1v3hx8 "C (gcc) – Try It Online")
Port of Python solution, didn't check map
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 23 [bytes](https://github.com/DennisMitchell/jelly/wiki/Code-page)
```
+Ɱ5%24;€⁹“F=ẓŒMdƲEṢ$Ṛ.»
```
A full program accepting two arguments, hours then minutes, which prints in an ugly format. Uses `Algiers Amsterdam Amman Dubai Islamabad` since they are the alphabetically earliest allowed cities with DST offsets of `1-5` hours from UTC.
**[Try it online!](https://tio.run/##ATcAyP9qZWxsef//K@KxrjUlMjQ74oKs4oG54oCcRj3hupPFkk1kxrJF4bmiJOG5mi7Cu////zIy/zQ1 "Jelly – Try It Online")**
### How?
```
+Ɱ5%24;€⁹“F=ẓŒMdƲEṢ$Ṛ.» - Main Link: hour, H; minute M
 Ɱ5                     - map across [1..5] with:
+                       -   addittion (to H)
   %24                  - modulo by 24
        ⁹               - chain's right argument, M
      ;€                - concatenate to each
         “F=ẓŒMdƲEṢ$Ṛ.» - compressed string "Algiers Amsterdam Amman Dubai Islamabad"
                        -   (this new niladic chain forces the previous result to be printed)
                        - implicit print
```
[Answer]
# [Bash](https://www.gnu.org/software/bash/), ~~118~~ \$\cdots\$ ~~76~~ 75 bytes
Saved a byte thanks to [Duncan](https://codegolf.stackexchange.com/users/72002/duncan)!!!  
Saved a whopping ~~18~~ ~~39~~ ~~41~~ 42 bytes thanks to [David G.](https://codegolf.stackexchange.com/users/90945/david-g)!!! 
```
for d in Accra Lagos Rome Kyiv Dubai;do date -d$1Z+$((i++))hour +$d%R;done&
```
[Try it online!](https://tio.run/##bcqxCsIwFAXQvV9xhyoJoZAqLjoJbjp1dEuTFxPQPGkbQcRvj/kAz3xGM4fic7JL5AQvJD7F8wSHmHC0djK4mBvPGPhBOL/jC6c8mnhwDGcWQufa/qpaIaJSUgbOE1TrVkMNidbl23j0m/1WN/Od6IldQzYwuv9q1rrm8gM "Bash – Try It Online")
Input passed as command line argument.  
Outputs to stdout.  
Uses 24-hour time format.
[Answer]
# [Charcoal](https://github.com/somebody1234/Charcoal), 38 bytes
```
Ｅ⪪”↶+∧e-|GT⊘"↘w⌊⎇*↔ＪAN·”⁵⪫⟦ι﹪⁺Ｉθκ²⁴η⟧ 
```
[Try it online!](https://tio.run/##Dck9C8IwEIDhv3JkukCEUnVyEjuVFguO4nBGMMGjV/Ph3z8zvM/y@kDJC7HqkuJacKYNbxvHgubsfaKJ3pKvmQUGCQRDfVI0Do7WwShxxXt0MMursuDCNeOFcsFvu59Wf2iEhwMDxlp7Uu1g3@nux38 "Charcoal – Try It Online") Link is to verbose version of code. Port of @SurculoseSputum's Python answer. Takes input as separate hours and minutes and uses the 24 hour clock. Explanation:
```
  ...               Compressed string of five cities
 ⪪   ⁵              Split into substrings of length 5
Ｅ                   Map over each substring
        ι           Current substring
           Ｉθ       Input hours as a number
          ⁺  κ      Plus current index
         ﹪    ²⁴    Modulo literal 24
                η   Input minutes
      ⪫⟦         ⟧  Joined with spaces
                    Implicitly print on separate lines
```
[Answer]
# [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide), 98 bytes
```
((h,m)=>['Accra','Lagos','Rome','Kyiv','Dubai'].map((e,i)=>console.log(e+' '+(h+i)%24+':'+m+';')))
```
[Try it online!](https://jsfiddle.net/8zofL7g9/ "Javascript – Try It Online")
Get the original idea from the C and so the Python guys.
[Answer]
# PHP 5.4+, 96 bytes
Yes, it's a fat boy :(  
But was fun to write it!
```
foreach([Accra,Lagos,Cairo,Doha,Dubai]as$k=>$v)echo"\n$v ",date(H_i,strtotime("$argn {$k}hour"));
```
Run this with `php -r` (produces warnings).
The input format is flexible, as long as it can be interpreted by [`strtotime()`](https://www.php.net/manual/en/function.strtotime.php).  
You can input hours in 12-hour or 24-hour formats, being displayed in 24-hour format.
The cities chosen were picked because they are NOT in DST at the time of this answer:
[![https://www.timeanddate.com/worldclock/?sort=2](https://i.stack.imgur.com/Aegch.png)](https://i.stack.imgur.com/Aegch.png)
[Answer]
# [JavaScript (V8)](https://v8.dev/), 81 bytes
```
(h,m)=>'Accra-Lagos-Rome-Kyiv-Dubai'.split`-`.map(e=>console.log(e,h++%24+':'+m))
```
[Try it online!](https://tio.run/##BcHRCoMgFADQrxkqeiVqD2NgMNjbeuoLuhMrh@5KltDX2zk/LJjt5tMO5VFnU/mqojA9e1m7IQy4UIaRooPP6Qu8jy96pnMKfp9g0hETd6a39M8UnA60cKdWKW/tXbInk1GIOvO2U10j6gU "JavaScript (V8) – Try It Online")
[Answer]
# JavaScript, 65 bytes
Input `f(h)(m)`. Outputs an array of arrays: `[[City, mm, ss], ...]`.
```
h=>m=>`Accra
Lagos
Rome
Kyiv
Dubai`.split`
`.map(c=>[c,h++%24,m])
```
[Try it online!](https://tio.run/##y0osSyxOLsosKNEts/ifZvs/w9Yu19YuwTE5uSiRyycxPb@YKyg/N5XLuzKzjMulNCkxM0GvuCAnsySBK0EvN7FAI9nWLjpZJ0NbW9XIRCc3VvN/cn5ecX5Oql5OfroGF2eahpGxpoaxgSaX5n8A)
---
# JavaScript, 66 bytes
Prettier. Outputs a string with `City,mm,ss` separated by newlines.
```
h=>m=>`Accra
Lagos
Rome
Kyiv
Dubai`.replace(/.+/g,M=>[M,h++%24,m])
```
[Try it online!](https://tio.run/##BcFBC8IgFADgc@9/BIrmYuvQRSHoVrt0jWAvcc7Q3tAS@vX2fS@sWGwO62dXj23WbdEmaTOdrM0IV/RU4EbJweUXKpy/TwyTym6NaB3rlOh8kqM291EuQmz7g0wP3iy9C0WnInkGm5n1A2fDngNvfw)
---
# JavaScript, 64 bytes
Uglier. Outputs a string without delimiters: `Citymm,ssCitymm,ss...`.
```
h=>m=>`Accra Lagos Rome Kyiv Dubai `.replace(/ /g,_=>[h++%24,m])
```
[Try it online!](https://tio.run/##y0osSyxOLsosKNEts/ifZvs/w9Yu19YuwTE5uShRwScxPb9YISg/N1XBuzKzTMGlNCkxUyFBryi1ICcxOVVDX0E/XSfe1i46Q1tb1chEJzdW839yfl5xfk6qXk5@ugYXZ5qGkbGmhrGBJpfmfwA)
[Answer]
# [W](https://github.com/A-ee/w), 33 [bytes](https://github.com/A-ee/w/wiki/Code-Page)
Just realized that my language is such a bad language. It doesn't even support dumping the stack...
```
☻|▓■°u:"≡∟◘Σ≡☺╖ⁿ╩]┼ε╝╣╗à_∙▬Cô\K←û
```
Uncompressed:
```
"3@374Ry<+o;<r>YwI+eA78P`5a(c0[+24mc1[{M
```
## Explanation
```
"3@374Ry<+o;<r>YwI+eA78P`                % Compressed string containing the cities
                         5             M % In the range 1..5:
                          a              %    The current counter,
                           (             %    Decremented,
                            c0[+         %    Is added to the hours
                                24m      %    And modulo'd by 24
                                   c1[   %    Push the minutes
                                      {  %    Pair the two items
```
[Answer]
# [C# (Visual C# Interactive Compiler)](http://www.mono-project.com/docs/about-mono/releases/5.0.0/#csc), 119 bytes
Input: `hh:mm`  
Output: `h:mm`
```
t=>String.Concat("Accra,Lagos,Rome,Kyiv,Dubai".Split(',').Select((c,i)=>c+$":{(int.Parse(t[0..2])+i)%24}:{t[3..5]}\n"))
```
[Try it online!](https://tio.run/##JY7BSsNAFEXXzlc8B6Xv0XEYEguamIAobuxCmoWL2sU4TuuDOJHMVJGQb0@x3dzDOavr4pWLPD3tg7uLqeewU3BiDVuoplTVzVH1QxecTSjvneutWtpdF9Wq@/Lq@Y9/1OP@3bLUzXfLCWdqRrrxrXcJ0SmmqnbzC1kMyCHpF9tHj2lttM42NGe6zK7HYkjrXOvFZnwLkmgqhTjdgFiK309uPSBGqGDl7ceSg0ciOK9ASoJBnL32nPwxbzESlWKcjClyI8zN/2Z5sbgVBw "C# (Visual C# Interactive Compiler) – Try It Online")
[Answer]
# [Perl 5](https://www.perl.org/), 548 bytes
Golfed vesrion, [try it online!](https://tio.run/##bVBRS8MwGPwrn6VbUoxs7SZoQ4X6bEXwSRiO0qU22qa1SRlj1r9ek2zaDXxJvgt3912uYW15PQydZCBVyzNFzbhNW8HFm6TVDiaKV2xd57lkSkIEGMWqYEIiiO5gQdA94@@aa@ENQQ@12NTCIp@gR7aFl7r9sPhqSdAzq7vSolvPuLtcNJ3StsgPwsUc4gSZZ@wWddcScCsuOsX0kFZN5Wner@AbZq94tdn7JOi90Ez6BhwnX0@J584oz7WJEQH7BPSUIJhOwbrCRQR@4MH@gC4Noj2wUp5r4lNNdKaJYE57003G1W5tCpJ0W/CSAbbhzbPOfCjNpGZpVpw3qb3M98s6S8v10RQfE43KCQRL6o5b9nbuNVc2LRcqx85kHmxCczjk1O6vO4/2/0QzbmOwcYGOZY3BsczwwFwJh/bD8AM)
```
use strict;use warnings;my %time_offsets = ('Athens' => 3,'Beijing' => 8,'London' => 1,'New York' => -4,'Seoul' => 9);my $input = '12:30 AM';my ($hour, $minute, $ampm) = $input =~ /^(\d{1,2}):(\d{2}) (AM|PM)$/;if ($ampm eq 'PM' && $hour != 12) {$hour += 12;} elsif ($ampm eq 'AM' && $hour == 12) {$hour = 0;}my %city_times;while (my ($city, $offset) = each %time_offsets) {my $local_hour = ($hour + $offset) % 24;$city_times{$city} = sprintf("%02d:%02d", $local_hour, $minute);}while (my ($city, $time) = each %city_times) {print "$city: $time\n";}
```
Ungolfed vesrion
```
use strict;
use warnings;
my %time_offsets = (
    'Athens' => 3,
    'Beijing' => 8,
    'London' => 1,
    'New York' => -4,
    'Seoul' => 9,
);
my $input = '12:30 AM';  # Replace with input from user
# Extract hour, minute, and AM/PM from input
my ($hour, $minute, $ampm) = $input =~ /^(\d{1,2}):(\d{2}) (AM|PM)$/;
# Convert 12-hour time to 24-hour time
if ($ampm eq 'PM' && $hour != 12) {
    $hour += 12;
} elsif ($ampm eq 'AM' && $hour == 12) {
    $hour = 0;
}
# Calculate time in each city
my %city_times;
while (my ($city, $offset) = each %time_offsets) {
    my $local_hour = ($hour + $offset) % 24;
    $city_times{$city} = sprintf("%02d:%02d", $local_hour, $minute);
}
# Output city times
while (my ($city, $time) = each %city_times) {
    print "$city: $time\n";
}
```
[Answer]
# [PowerShell](https://github.com/TryItOnline/TioSetup/wiki/Powershell), 123 bytes
Input can be in 12 or 24 hour format `i.e. hh:mm OR hh:mm AM/PM`
```
param($i)0..4|%{"{0}: {1}"-f("Accra","Lagos","Cairo","Amman","Dubai")[$_],([datetime]$i).AddHours($_).ToString("hh:mm tt")}
```
[Try it online!](https://tio.run/##DczBCsIgGADgVxk/CxSWuOi0m9ShQ53qNsb422wKcw7n6GA@u3n6bt9qv9JtSs5zSis6NKTUlDN2/h0CBB6bItQRjh8CYhgcQgV3nOyWvaB2NiuMwSV73d@ogbZl31WkHdFLr43scsfEON7s7jZS9pS97NM7vUwElGqMKbwHGlNKNW9OvBCPPw "PowerShell – Try It Online")
]