Now()函数带有时间修剪

Jus*_*tin 23 ms-access vba ms-access-2007 access-vba ms-access-2003

所以函数=Now()....有一种方法我可以使用这个,只得到日期,而不是时间?

或者只是这个想法的功能?

tla*_*ton 26

有一个日期功能.

  • 那怎么用这个?我可以在VBA中使用= Now()来获取当前日期和时间,但它不允许我输入Date()或= Date().它会自动带走()并且函数似乎与= Now()的工作方式不同 (2认同)

Dea*_*ing 10

VBA中的日期只是浮点数,其中整数部分表示日期,分数部分表示时间.因此,除了使用Datetlayton所说的函数(获取当前日期)之外,您还可以将日期值转换为整数以从任意日期获取日期部分:Int(myDateValue).

  • 我将Dean的建议解释为了解日期/时间值的本质,而不是作为"Date()"的一般替代.从这个角度来看,我认为他的建议非常有用.+1 (3认同)

小智 9

DateValue(CStr(Now()))
Run Code Online (Sandbox Code Playgroud)

这是我发现的最好的.如果您已将日期作为字符串,则可以执行以下操作:

DateValue("12/04/2012 04:56:15")
Run Code Online (Sandbox Code Playgroud)

要么

DateValue(*DateStringHere*)
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人......


小智 5

我更愿意制作一个不适用于字符串的函数:

'---------------------------------------------------------------------------------------
' 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
Run Code Online (Sandbox Code Playgroud)