useNow
Returns a ReadonlyObservable<Date> that reflects the current time, updated continuously via requestAnimationFrame (default) or a fixed interval.
Now: 3/6/2026, 10:00:59 AM
Updates every frame via requestAnimationFrame.
import { import useNow
useNow } from "@usels/web";
const const now: any
now = import useNow
useNow();// now.get() → current Date, updated every frameInterval-based (battery friendly)
Section titled “Interval-based (battery friendly)”import { import useNow
useNow } from "@usels/web";
const const now: any
now = import useNow
useNow({ interval: number
interval: 1000 }); // updates every secondWith pause/resume controls
Section titled “With pause/resume controls”import { import useNow
useNow } from "@usels/web";
const { const now$: any
now$, const isActive$: any
isActive$, const pause: any
pause, const resume: any
resume } = import useNow
useNow({ controls: boolean
controls: true });
const pause: any
pause(); // stops auto-updateconst resume: any
resume(); // restartsScheduler selection
Section titled “Scheduler selection”The scheduler is chosen once at mount and cannot be changed dynamically:
interval value | Scheduler |
|---|---|
'requestAnimationFrame' (default) | useRafFn — smooth, ~60fps |
number (ms) | useIntervalFn — battery-friendly |
Type Declarations
Section titled “Type Declarations”export interface UseNowOptions<Controls extends boolean = false> { controls?: Controls; interval?: "requestAnimationFrame" | number;}export declare function useNow(options?: UseNowOptions<false>): ReadonlyObservable<Date>;export declare function useNow(options: UseNowOptions<true>): { now$: ReadonlyObservable<Date>;} & Pausable;Source
Section titled “Source”Contributors
Section titled “Contributors”- tigerwest
Changelog
Section titled “Changelog”a7392ab2026-03-06 - feat(core,browser): add sync strategy hooks (tigerwest)