2015-12-06 2 views
1

У меня есть поле даты/времени в файле CSV в d/m/yyy h: nn: ss AM формат.Как изменить/форматировать только временную часть даты в неамериканском формате?

CSV связан в MS Access, и я хочу преобразовать вышеуказанное поле в dd/m/yy hh: nn формат.

Звучит просто, но когда я пытаюсь Format([Date Processed], "dd/m/yy hh:nn" в моем SQL, он переключает дд и м. Так 12/4/2015 (4-Dec-2015) становится 12/4/15 (12-апреля-2105)

Я не хочу играть с форматом даты моего компьютера, как это может нарушить мой заявление. Как я могу это сделать в своем SQL?

+0

Может вниз избиратель, пожалуйста, объясните, что не так с этим вопросом? – Kashif

+1

Это часто означает, что он/она не понимает вопрос, а затем полагает, что никто другой не будет. – Gustav

ответ

1

Вы можете использовать Split в простой функции перетасовать части Даты:

Public Function ReFormat(ByVal Date1 As String) As String 

    Dim DateParts As Variant 
    Dim DatePart As String 
    Dim TimePart As String 

    DatePart = Split(Date1, " ", 2)(0) 
    TimePart = Split(Date1, " ", 2)(1) 
    DateParts = Split(DatePart, "/") 

    If UBound(DateParts) = 2 Then 
     ReFormat = DateParts(1) & "/" & DateParts(0) & "/" & Format(DateParts(2) Mod 100, "00") & " " & TimePart 
    End If 

End Function 
0

Try: Format(CDbl([Date Processed]), "dd/m/yy hh:nn")

+0

Это не удастся - как показывает сам вопрос - в неамериканской среде. – Gustav

+0

Я использую среду, отличную от США, и я использую ее более двух лет, и ее работа без проблем, но я использую CLng, потому что мне не нужно время, поэтому я надеюсь, что эта помощь будет полезной, (я попытался добавить это как комментарий, но у меня нет 50 репутации, чтобы сделать это !!!). спасибо @Gustav – Fadi

+1

Извините, я перепутал вещи. Если '[Date Processed]' содержит дату, ваше выражение будет работать, но у опросника есть строковое выражение для даты, которая будет сбой с 'CDbl''''' CLng'. Таким образом, ваш комментарий действительно не связан с вопросом. В качестве примечания, 'CLng' будет округлить дату, если временная часть PM. Чтобы отключить время, используйте 'Fix' как:' Format (Fix ([Date Processed]), "dd/m/yy hh: nn") – Gustav