Функция Now () с сокращением времени - PullRequest
20 голосов
/ 24 июня 2010

Итак, функция =Now() .... есть ли способ, которым я могу использовать это и получить только дату, а не время?

или есть только функция для этой идеи?

Ответы [ 6 ]

23 голосов
/ 24 июня 2010

Имеется функция Дата .

10 голосов
/ 24 июня 2010

Даты в VBA - это просто числа с плавающей запятой, где целая часть представляет дату, а дробная часть представляет время.Таким образом, в дополнение к использованию функции Date, как говорит Тлейтон (для получения текущей даты), вы также можете привести значение даты к целому числу, чтобы получить часть даты из произвольной даты: Int(myDateValue).

8 голосов
/ 08 августа 2012
DateValue(CStr(Now()))

Это лучшее, что я нашел. Если у вас уже есть дата в виде строки, вы можете просто:

DateValue("12/04/2012 04:56:15")

или

DateValue(*DateStringHere*)

Надеюсь, это кому-нибудь поможет ...

4 голосов
/ 15 августа 2013

Я бы предпочел сделать функцию, которая не работает со строками:

'---------------------------------------------------------------------------------------
' 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
3 голосов
/ 24 июня 2010

Вы также можете использовать Format $ (Now (), «Short Date») или любой другой формат даты, который вы хотите. Имейте в виду, что эта функция будет возвращать Date в виде строки, поэтому лучше использовать Date ().

0 голосов
/ 05 апреля 2016

Вставьте эту функцию в свой модуль и используйте ее как формула

Public Function format_date(t As String)
    format_date = Format(t, "YYYY-MM-DD")
End Function

например, в ячейке A1 примените эту формулу

=format_date(now())

возвращается в формате ГГГГ-ММ-ДД. Измените любой формат (год, месяц, месяц) по своему желанию.

...