Returns the current date and time. Provides real-time timestamp functionality, updating automatically on worksheet recalculation, essential for time-based calculations and logging.
Master the fundamentals of Excel NOW function
The NOW function returns the current date and time as a serial number, updating automatically whenever the worksheet recalculates. Excel stores dates and times as serial numbers where the integer part represents the date (days since January 1, 1900) and the decimal part represents the time (fraction of a day). This makes NOW essential for real-time calculations, timestamping, and time-based business logic.
NOW() recalculates every time the worksheet recalculates, ensuring it always reflects the current moment. This happens on manual recalculation, file open, or any cell edit.
Returns a decimal number where the integer part is the date serial number and the decimal part represents time (0.0 = midnight, 0.5 = noon, 0.9999 = almost midnight).
NOW() takes no parameters and always returns the current system date and time. It cannot be "set" to a specific time.
NOW() uses the system clock's time zone setting. The returned time reflects the computer's local time zone, not UTC or any specific zone.
Function-specific parameters
Function-specific return type
Automatically timestamp data entries and log file entries
Calculate elapsed time, time differences, and duration from stored timestamps
Track calculation times and performance metrics
Create dashboards that show current time and auto-updating timestamps
Exact matching required
Returns numeric position
Handles missing text gracefully
=NOW()The current date and time as a serial number (decimal: integer part = date, decimal part = time)
Description: Returns the current date and time
Get current date and time
Returns the current date and time as a serial number. The integer part is the date, and the decimal part is the time.
Using NOW function in VBA
Sub NOWExample()
Dim currentTime As Date
currentTime = Now
Range("A1").Value = currentTime
MsgBox "Current time: " & Format(currentTime, "mm/dd/yyyy hh:mm:ss")
End Sub
' Insert current timestamp
Sub InsertTimestamp()
Range("A1").Value = Now
Range("A1").NumberFormat = "mm/dd/yyyy hh:mm:ss"
End Sub
' Calculate time difference
Sub CalculateTimeDifference()
Dim startTime As Date, endTime As Date
Dim diff As Double
startTime = Range("A1").Value
endTime = Now
diff = endTime - startTime
Range("B1").Value = diff & " days"
Range("B2").Value = Format(diff, "hh:mm:ss")
End Sub
' Log timestamp to multiple cells
Sub LogTimestamps()
Dim i As Integer
For i = 1 To 10
Range("A" & i).Value = Now
Application.Wait (Now + TimeValue("0:00:01"))
Next i
End SubAutomatically timestamp data entries
Calculate elapsed time from stored timestamp
Track calculation and processing times
Show current time in formatted display
NOW() doesn't update automatically
=NOW()Solution: Ensure automatic calculation is enabled: File → Options → Formulas → Calculation options → Automatic. Manual calculation mode requires F9 to update NOW().
NOW() shows wrong time
=NOW()Solution: NOW() uses your system clock's time zone. Check Windows Date & Time settings. For UTC time, you may need to adjust manually or use time zone conversion formulas.
NOW() shows a number instead of date/time
=NOW()Solution: Format the cell as Date/Time: Right-click cell → Format Cells → Date or Time category. The serial number is correct; formatting is needed for display.
Worksheet is slow due to many NOW() functions
=NOW()Solution: NOW() recalculates on every worksheet change, which can slow large workbooks. Consider using static timestamps (manual entry or VBA) for historical data, or limit NOW() to essential cells only.