2013-07-09 11 views

Odpowiedz

20

pierwsze, wielkie MM to miesiąc i małe mm są minuty.

Trzeba zdać CultureInfo.InvariantCulture do ToString aby / jako separator jest używany ponieważ byłoby to normalnie być zastąpione separator nurtu kulturowego za:

MsgBox(dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)) 

Innym rozwiązaniem jest ucieczka tego formatu niestandardowego specyfikator przez osadzanie/wewnątrz „:

dt.ToString("dd'/'MM'/'yyyy") 

MSDN: The "/" Custom Format Specifier:

Specyfikator formatu niestandardowego "/" reprezentuje separator daty, który jest używany do rozróżniania lat, miesięcy i dni. Odpowiednią zlokalizowane Data separator pobierane z DateTimeFormatInfo.DateSeparator własności obecnego lub określony kultury.

+4

Format miesiąca char to * wielkie litery * 'M lub MM lub MMM' – adatapost

+0

dlatego właśnie lubię PHP, jestem programistą PHP i nauka VB.Net. w PHP wystarczy użyć daty echa ("d/m/y"); to wszystko. –

+0

Błąd kompilacji .. !! "CultureInfo" –

3

tak ..

MsgBox(format(dt,"dd/MM/yyyy")) 
+0

już próbowałem, wyświetla 09-00-2013. Próbowałem również ściągania ("dd/mm/rrrr"), ale nie działa. –

+3

Powinno to być "dd/MM/rrrr". 'mm' jest dla minut i' MM' dla miesiąca. – SysDragon

+0

@SysDragon .. thanx, nie zauważyłem tego .. – matzone

0

Można rozkładać datę do swojego części składowe, a następnie złączyć je razem tak:

MsgBox(Now.Day & "/" & Now.Month & "/" & Now.Year) 
0

Znalazłem to coś na daty w XXI wieku, które mogłyby być wprowadzane jako dd/mm lub dd/mm/rr. Ma wydrukować listę obecności i prosi o rozpoczęcie spotkania.

Sub Print_Register() 

Dim MeetingDate, Answer 

    Sheets("Register").Select 
    Range("A1").Select 
GetDate: 
    MeetingDate = DateValue(InputBox("Enter the date of the meeting." & Chr(13) & _ 
    "Note Format" & Chr(13) & "Format DD/MM/YY or DD/MM", "Meeting Date", , 10000, 10000)) 
    If MeetingDate = "" Then GoTo TheEnd 
    If MeetingDate < 36526 Then MeetingDate = MeetingDate + 36526 
    Range("Current_Meeting_Date") = MeetingDate 
    Answer = MsgBox("Date OK?", 3) 
    If Answer = 2 Then GoTo TheEnd 
    If Answer = 7 Then GoTo GetDate 
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" 
TheEnd: 
End Sub