Excel - How to convert US dates and times to UK dates and times

Anonymous
2021-05-14T17:03:30+00:00

Hello

I wonder if I could receive help with the following:

I have a long Excel spreadsheet where the dates and times are in US format and need to be changed to UK format. The problem is that the date and time need to be merged into one cell.

BEFORE HOW IT SHOULD LOOK
06/03/2021 06:PM 23/06/2021 18:00

Sometimes the data is laid out as below:

DATE TIME HOW IT SHOULD LOOK
06/03/21 06:PM 23/06/2021 18:00

Thanks for your help.

Microsoft 365 and Office | Excel | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
HansV 462.7K Reputation points MVP Volunteer Moderator
2021-05-14T21:28:56+00:00

That means that the values aren't real dates, but text values that look like dates.

  1. For a range with separate dates in a column:
  • Select the range.
  • On the Data tab of the ribbon, click Text to Columns
  • Click Next> twice.
  • In step 3 of the Text to Columns Wizard, select Date, and select MDY from the drop down.
  • Click OK.
  1. For a range with separate times in a column:
  • Select an empty cell and copy it.
  • Select the range with times.
  • Click the lower half of the Paste button and select Paste Special...
  • Select Add, then click OK.
  1. For a range with dates+times in a column:
  • Select the range.
  • Run the macro listed below.
  • You can discard the macro afterwards.

Sub Text2Date()
    Dim rng As Range
    Dim s As String
    Dim p As Long
    Dim d As String
    Dim t As String
    Dim a() As String
    Application.ScreenUpdating = False
    For Each rng In Selection
        s = rng.Text
        p = InStr(s, " ")
        d = Left(s, p - 1)
        a = Split(d, "/")
        t = Trim(Mid(s, p + 1))
        rng.Value = DateSerial(a(2), a(0), a(1)) + TimeValue(t)
    Next rng
    Selection.NumberFormat = "dd/mm/yyyy hh:nn"
    Application.ScreenUpdating = True
End Sub

Was this answer helpful?

30+ people found this answer helpful.
0 comments No comments
Answer accepted by question author
HansV 462.7K Reputation points MVP Volunteer Moderator
2021-05-16T08:48:31+00:00

I don't use PowerQuery much, so if the following is off, I hope that others will take me to task - criticism is welcome!

Try this:

Click in the column with dates-as-text.

On the Insert tab of the Ribbon, click Table.

Make sure that 'My table has headers' is ticked, then click OK.

On the Data tab of the ribbon, in the Get & Transform group, click 'From Table/Range'.

PowerQuery will automatically recognize the values as date/time and display them in your system date/time format (mine is yyyy-mm-dd hh:mm:ss)

Click Close & Load.

The result is a new table with 'real' date/time values:

You can now apply the desired format:

Was this answer helpful?

10+ people found this answer helpful.
0 comments No comments

45 additional answers

Sort by: Newest
  1. Anonymous
    2021-05-16T22:48:36+00:00

    Thanks for your reply.

    What I would like is the following. All the US dates need to be converted to UK Dates.

    Arrive (US) date needs to be converted to Arrive (UK) date. 

    Left (US) date needs to be converted to Left (UK) date

    The work needs to be done row by row (See workbook below). The two yellow columns need to be filled in.

    If there is no data in a US cell, then there won't be any data in the relevant UK cell.

    Worbook

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2021-05-16T22:32:59+00:00

    I took a minor liberty with the output, changing MM to MMM (for readablility)

     

    But it is a trivial change of custom display format if you absolutely have to have numeric month.

    Change custom format from MMM to MM

    I only changed the Left (US) column in this example

    The Left(US) column is what you asked for, right?

    If not, what am I missing?

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2021-05-16T22:32:26+00:00

    As I suspected, Excel HAS recognized some of the dates as real dates.

    The original data source most likely is a CSV file (or some kind of text file exported from another program) which had the original data stored in US format (MDY).

    Someone OPEN'd the file in Excel running on a computer where the Windows Regional settings was DMY.

    What happens in that situation is that dates where the original D > 12 are seen as Text

    If  D<=12, the date string is interpreted incorrectly by Excel as being a date in DMY format.

    By far, the simplest solution will be to return to the original source, and IMPORT the data correctly, telling Excel that the data is in MDY format, so it will know how to parse the date strings.

    Is that possible?

    Hi,

    The US dates need to converted in UK dates and placed in the UK columns.

    See my file attached.  Sorry it's been a long day. So I'm re-attaching it.

    Thanks

    Workbook Example

    Was this answer helpful?

    0 comments No comments