VB.net Создать дату Killswitch (сравнить две даты) - PullRequest
0 голосов
/ 28 декабря 2018

Я хотел бы внедрить в свое приложение киллсвитч на основе даты, чтобы он перестал работать к определенному времени.Поэтому я выяснил дату (например, 1 февраля 2019 года).Как только дата системы (на которой запущено мое приложение) больше, чем дата Killswitch, я хочу, чтобы она перестала работать.Я попробовал:

If Today.Date.toString() >= "02/01/2019" Then
End
Else
...

Это не сработало.У меня проблема в том, что формат даты на каждом компьютере различен, некоторые имеют ММ / дд / ГГГГ , некоторые ДД / ММ / ГГГГ и некоторые ГГГГ / ММ /дд .Можно ли все еще преобразовать все даты в универсальный формат и сравнить их?

Ответы [ 4 ]

0 голосов
/ 28 декабря 2018

Другой подход, комментарии и объяснения в строке.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If DateTime.Now > ExpireDate Then
        MessageBox.Show("Your trial period has expired")
        Close()
    End If
End Sub

Private ExpireDate As Date

Private Sub OPCode3()
    'run once at first startup
    'Store As DateTime, then you can compare DateTime withour converserion or parsing
    ExpireDate = DateTime.Now.AddMonths(3)
End Sub
0 голосов
/ 28 декабря 2018

Не задавайте дату жестко;тогда формат не будет проблемой.Вместо этого используйте конструктор класса DateTime , чтобы создать цель уничтожения с указанием конкретного года, месяца и дня:

Dim targetDT As New DateTime(2019, 2, 1)
If DateTime.Today > targetDT Then
    ' ... do something in here ...
End If
0 голосов
/ 28 декабря 2018

Вы можете использовать это

    Dim currentDate As DateTime = DateTime.Now
    If currentDate.Month >= 2 And currentDate.Day >= 1 And currentDate.Year >= 2019
          End
    End If
0 голосов
/ 28 декабря 2018

Если все даты стандартного формата, вы можете использовать DateTime.Parse.В этот момент вы сравните два значения DateTime, а затем сработает значение, большее или равное.

If DateTime.Now >= DateTime.Parse("02/01/2019") Then
    Environment.End
End If

Чтобы выполнить синтаксический анализ даты вручную, вам необходимо знать, в каком формате она находится, посколькунеобходимо создать объект DateTime из его частей.Вот пример:

Dim strDate As String = "12/28/2018"
Dim year As Integer = Integer.Parse(strDate.Substring(6, 4))
Dim month As Integer = Integer.Parse(strDate.Substring(0, 2))
Dim day As Integer = Integer.Parse(strDate.Substring(3, 2))
Dim d = New DateTime(year, month, day)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...