Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Использование DateTime.tostring
с указанным форматом mm.dd.yyyy
:
this.TextBox3.Text = DateTime.Now.ToString("MM.dd.yyyy");
здесь, мм
означает месяц от 01 до 12, DD
означает день от 01 до 31 и ГГГГ
означает год в качестве четырехзначного числа.
this.TextBox3.Text = DateTime.Now.ToString("MM.dd.yyyy");
this.TextBox3.Text = String.Format("{0: MM.dd.yyy}",DateTime.Now);
Небольшое дополнение к ответу Джейсона:
ToShortDateString()
чувствительна к культуре. Из MSDN:
Строка, возвращаемая методом методом ToShortDateString является чувствительна к культуре. Она отражает шаблон, определенный текущей объектом DateTimeFormatInfo текущей культуры. Например, для культуры en-US, стандартным шаблоном короткой даты является "M/d/yyyy"; для культуры de-DE это это "дд.ММ.гггг"; для культуры ja-JP это "yyyy/M/d". На сайте конкретная строка формата на конкретном компьютере также может быть настроена так. чтобы она отличалась от стандартной короткой строки формата даты.
Это означает, что лучше использовать метод ToString()
и определять формат явно (как сказал Джейсон). Хотя если эта строка нужна в UI, то ToShortDateString()
будет хорошим решением, потому что возвращает строку, которая знакома пользователю.
DateTime.Today
.