In addition to solution #1 by OriginalGriff, check this:
Dim s1 = "22.04.2018 12.00 pm"
Dim s2 = "23.04.2018 12.00 pm"
Dim ci As Globalization.CultureInfo = Globalization.CultureInfo.InvariantCulture
Dim fmt As String = "dd.MM.yyyy HH.mm tt"
Dim dt1 As DateTime = DateTime.Now
Dim dt2 As DateTime = DateTime.Now
Try
dt1 = DateTime.ParseExact(s1, fmt, ci)
dt2 = DateTime.ParseExact(s2, fmt, ci)
Catch Ex As Exception
Console.WriteLine(Ex.Message)
End Try
Dim dayspassed As Integer = dt2.Subtract(dt1).Days
Console.WriteLine("Difference between '{0}' and '{1}' is: {2} day(s)", dt2.ToString("yyyy-MM-dd"), dt1.ToString("yyyy-MM-dd"), dayspassed)
For further details, please see:
How to: convert strings to DateTime | Microsoft Docs[
^]
DateTime.ParseExact Method (String, String, IFormatProvider) (System)[
^]
Performing arithmetic operations with dates and times | Microsoft Docs[
^]