Итак, функция =Now()
.... есть способ, которым я могу использовать это и получать только дату, а не время?Теперь функция() с временной отделкой
или есть функция для этой идеи?
Итак, функция =Now()
.... есть способ, которым я могу использовать это и получать только дату, а не время?Теперь функция() с временной отделкой
или есть функция для этой идеи?
Существует Date function.
Вы также можете использовать формат $ (Now(), "Short Date") или любой другой формат даты, который вы хотите. Помните, что эта функция вернет Date как строку, поэтому использование метода Date() - лучший подход.
Что мне нужно сделать с приведенным выше, чтобы получить формат даты 28 сентября-10? Спасибо, я ценю это! – Justin
Формат $ (Date(), "dd-MMM-yy"). Существует также функция Format, которая возвращает вариант. Если вы знаете, что вам понадобится строка, которую нужно вернуть, используйте функцию Format $. –
В коде вы обычно можете использовать # для округления даты. Например: # 09/28/2010 # Однако вышеизложенное может быть испорчено форматированием по дате, поэтому другим вариантом является команда dateerial(). Синтаксис - это даты (год, месяц, день), поэтому DateSerial (2010,9,28) –
Даты в VBA - это числа с плавающей запятой, где целочисленная часть представляет собой дату, а часть доли представляет время. Таким образом, помимо использования функции Date
, как говорит tlayton (для получения текущей даты), вы также можете указать значение даты в целое число, чтобы получить дату-часть с произвольной даты: Int(myDateValue)
.
круто! Спасибо за помощь! – Justin
Зачем кому-то это делать, когда есть определенная функция для возврата целой части в одиночку? То есть, зачем делать два вызова функций, когда кто-то будет выполнять эту работу? –
Я интерпретирую предложение Дина как способ понять природу значений Date/Time, а не как общую замену 'Date()'. С этой точки зрения я думаю, что его предложение очень полезно. +1 – HansUp
DateValue(CStr(Now()))
Это лучшее, что я нашел. Если у вас есть дата в виде строки уже вы можете просто сделать:
DateValue("12/04/2012 04:56:15")
или
DateValue(*DateStringHere*)
Надеется, что это поможет кому-то ...
Я бы предпочел, чтобы сделать функцию, которая Безразлично» t со строками:
'---------------------------------------------------------------------------------------
' Procedure : RemoveTimeFromDate
' Author : berend.nieuwhof
' Date : 15-8-2013
' Purpose : removes the time part of a String and returns the date as a date
'---------------------------------------------------------------------------------------
'
Public Function RemoveTimeFromDate(DateTime As Date) As Date
Dim dblNumber As Double
RemoveTimeFromDate = CDate(Floor(CDbl(DateTime)))
End Function
Private Function Floor(ByVal x As Double, Optional ByVal Factor As Double = 1) As Double
Floor = Int(x/Factor) * Factor
End Function
Вставьте эту функцию в свой модуль и используйте ее как формулу
Public Function format_date(t As String)
format_date = Format(t, "YYYY-MM-DD")
End Function
, например, в ячейке A1 применить эту формулу
=format_date(now())
он вернется в формате YYYY-MM-DD. Измените любой формат (год месяца), как пожелаете.
так как я могу это использовать ?? я могу использовать = Now() в VBA, чтобы получить текущую дату и время, но это не позволит мне вводить Date() или = Date(). он автоматически убирает(), и функция не работает так же, как = Now() – Justin
Дата - правильная функция для использования. И да, в редакторе кода он удалит() –
ах, я вижу ... я стою исправлен. ошибка, когда меня отбрасывали. извинения ... и спасибо! – Justin