«формат» не работает с определенным форматом даты - PullRequest
0 голосов
/ 29 января 2019

Я могу отформатировать дату в определенном формате даты, но отформатированную строку, кажется, уже невозможно отформатировать.Это не будет проблемой, потому что я могу сохранить старый формат.Но дело в том, что мне также нужно прочитать строку в определенном формате из ячейки Excel и отформатировать ее.

Я использую немецкую систему дат.(Mi = среда)

UI_Main.txt_BeginnDatum.Value = Format(UI_Date_Picker.Date_Picker.Value, "ddd dd mmm yyyy")

Вот так я получаю дату из указателя даты.Это теперь отформатировано в определенном формате даты, о котором я говорю (Mi. 09 Jan 2019).Формат по умолчанию из средства выбора - dd.mm.yyyy.

strBeginDate_g = txt_BeginnDatum.Value

strTemp = strTemp & "Nr. " & Format(strBeginDate_g, "yyyy-mm-dd")

Здесь я пытаюсь записать дату в другом формате, но вывод такой же, как и раньше.

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

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Вы можете написать собственный формат, например,

Function FormatYYYYMMDD(strDateIn As String) As Date

Dim a() As String
Dim s As String

a = Split(strDateIn, Chr(32))
a(0) = vbNullString

FormatYYYYMMDD = CDate(Format(a(1) & "/" & a(2) & "/" & a(3), "yyyy-mm-dd"))

Erase a

End Function
0 голосов
/ 29 января 2019

Функция Форматировать может форматировать только числовые значения.Но вы даете ему строку strBeginDate_g в качестве параметра.

Вместо этого дайте ему значение в качестве параметра:

strTemp = strTemp & "Nr. " & Format$(UI_Date_Picker.Date_Picker.Value, "yyyy-mm-dd")

После того, как вы отформатировали дату с Format(), она станет строкой, и вы не сможете больше вычислять со строкой, а также не сможете отформатировать еееще раз.

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