Вам необходимо выполнить точный анализ текста вашей метки, Convert.ToDateTime не может правильно интерпретировать ваш формат
Dim currentDate As DateTime
DateTime.TryParseExact(lblDate.Text, "ddd-dd-MM-yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, currentDate)
lblDate.Text = currentDate.AddDays(1).ToString("ddd-dd-MM-yyyy")
Однако ваши начальные данные неверны . Пн-21-02-2019 не понедельник, и, следовательно, весь код синтаксического анализа в TryParseExact работает неправильно. Если вы правильно установили дату начала в пн-18-02-2019, то приведенный выше код работает правильно
Также обратите внимание, что формат мм предназначен для минут, месяцы анализируются с помощью [ 112] MM формат.
Наконец, как уже говорят другие люди, весь этот подход, чтобы сохранить дату на этикетке и затем увеличить ее, вероятно, неправильный путь. У нас нет достаточной информации о причинах вашего подхода, но если вы можете изменить его, лучше иметь глобальную переменную datetime и увеличивать ее, а не анализировать метку. Вы используете метку только для отображения значения переменной, когда вам это нужно, в нужном вам формате.
Вы могли зарегистрировать ошибку против Python для не включая более полезные сообщения об ошибках. Тем временем измените эти _reduce_ex()
функция в copy_reg.py
.
if base is self.__class__:
print self # new
raise TypeError, "can't pickle %s objects" % base.__name__
Вывод:
<bound method ?.test_func of <__main__.Test object at 0xb7f4230c>>
Traceback (most recent call last):
File "nopickle.py", line 14, in ?
pickle.dumps(test)
File "/usr/lib/python2.4/copy_reg.py", line 69, in _reduce_ex
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle instancemethod objects