Функция Format выводит дату в соответствии с локальными параметрами компьютера
Format(Now(), "ddd, mmm d yyyy ttttt") выдаст 
Пт, мар 3 2006 18:03:01 мне же нужно Fri, 03 Mar 2006 18:03:01
Подскажите, как вывести дату в нужном формате
			
		



Function MyDate(d as Date) as String
  Dim a, b
  a = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
  b = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
  MyDate = a(Weekday(Date, vbMonday) - 1) & Format$(Date, ", dd ") & b(Month(Date) - 1) & Format$(Now, " yyyy Hh:Nn:Ss")
End Function

  EngDate = Choose(Weekday(d, vbMonday), "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") & _
    Format$(d, ", dd ") & Choose(Month(d), "Jan", "Feb", "Mar", "Apr", "May", "Jun", _
    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") & Format$(d, " yyyy Hh:Nn:Ss")

lister писал(а):Функция Format выводит дату в соответствии с локальными параметрами компьютера
Format(Now(), "ddd, mmm d yyyy ttttt") выдаст
Пт, мар 3 2006 18:03:01 мне же нужно Fri, 03 Mar 2006 18:03:01
Подскажите, как вывести дату в нужном формате


alibek писал(а):Подозреваю, что дакой формат нужен поэтому.



alibek писал(а):В инете юзается дата в фиксированном формате.
Подозреваю, что дакой формат нужен поэтому.



Andrey Fedorov писал(а):lister писал(а):Функция Format выводит дату в соответствии с локальными параметрами компьютера
Format(Now(), "ddd, mmm d yyyy ttttt") выдаст
Пт, мар 3 2006 18:03:01 мне же нужно Fri, 03 Mar 2006 18:03:01
Подскажите, как вывести дату в нужном формате
А так и выводить. Вполне серъезно.
Ибо на твоем компьютере региональные установки русские, поэтому дату ты видишь по русски. На компьютере с другими региональными установками и дата будет выводиться по другому, а именно - на языке пользователя.
Private Function FormatDate() As String
  Dim strWeekDay As String
  Dim strDay As String
  Dim strMonth As String
  Dim strHour As String
  Dim strMinute As String
  Dim strSecond As String
  Dim strTimeZone As String
  
'  День недели
  strWeekDay = Choose(Weekday(Now, vbMonday), _
      "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
  
'  День месяца
  strDay = Format(Day(Now), "00")
  
'  Месяц
  strMonth = Choose(Month(Now), _
      "Jan", "Feb", "Mar", "Apr", "May", "Jun", _
          "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
  
'  Форматировать время
  strHour = Format(Hour(Now), "00")
  strMinute = Format(Minute(Now), "00")
  strSecond = Format(Second(Now), "00")
'  Часовой пояс
  strTimeZone = Format(GetTimeZone / 0.6, "+0000")
  
  
  FormatDate = _
      strWeekDay & ", " & _
          strDay & " " & _
              strMonth & " " & _
                  Year(Now) & " " & _
                      strHour & ":" & _
                          strMinute & ":" & _
                              strSecond & " " & _
                                  strTimeZone
  
  
End Function
Private Function GetTimeZone()
  Const TIME_ZONE_ID_STANDARD As Long = 1
  Const TIME_ZONE_ID_UNKNOWN As Long = 0
  Const TIME_ZONE_ID_DAYLIGHT As Long = 2
  Const TIME_ZONE_ID_INVALID As Long = &HFFFFFFFF
  
  Dim typTZI As TIME_ZONE_INFORMATION
  Dim lngReturn As Long
  lngReturn = GetTimeZoneInformation(typTZI)
  
  GetTimeZone = -(typTZI.Bias + IIf(lngReturn = TIME_ZONE_ID_DAYLIGHT, typTZI.DaylightBias, 0))
  
End FunctionСейчас этот форум просматривают: Google-бот и гости: 4