vb.net Получить первый день года / последний день последнего месяца / первый день прошлого месяца с даты текстового поля - PullRequest
0 голосов
/ 20 июня 2019

У меня есть простое текстовое поле, в которое я буду вводить случайную дату (06.08.2017). У меня три ярлыка. Все, что я хочу, это label1.text = 01.01.2017 и label2.text = 01.07.2017 и label3.text = 7/31/2017.

Должны быть получены эти даты на основе даты, которую я ввожу в текстовое поле, и она не ограничена текущим годом.

Dim 1stDayYr As New Date (Date. "" & Textbox.text & "" .Year, 1, 1)

Label1.text = 1stDayYr

TBH - я даже не знаю, как начать получать первый день предыдущего месяца на основе даты TB или последний день предыдущего месяца на основе даты TB.

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Спасибо за ответ, и я близок.

Dim previous As DateTime = baseDate.AddMonths(-1)
beginningOfPreviousMonth = baseDate.AddMonths(-1).AddDays(-1 * previous.Day).AddDays(1)

VS не понравился твой предыдущий. День, и я не знаю почему.

0 голосов
/ 20 июня 2019
    Dim baseDate As DateTime

    Dim beginningOfYear As DateTime
    Dim beginningOfPreviousMonth As DateTime
    Dim endOfPreviousMonth As DateTime

    If DateTime.TryParse(TextBox1.Text, baseDate) Then
        beginningOfYear = New DateTime(Year(baseDate), 1, 1)

        Dim previous As DateTime = baseDate.AddMonths(-1)
        beginningOfPreviousMonth = baseDate.AddMonths(-1).AddDays(-1 * previous.Day).AddDays(1)

        endOfPreviousMonth = beginningOfPreviousMonth.AddMonths(1).AddDays(-1)

        Console.WriteLine("Base date: {0} Beginning of year: {1} Beginning of previous month: {2} End of previous month: {3}", baseDate, beginningOfYear, beginningOfPreviousMonth, endOfPreviousMonth)
    Else
        Console.WriteLine("Invalid date")
    End If

Но вы должны использовать DateTimePicker для ввода даты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...