How to Set Date Time from Mac Command Line
Working on a web extension that ships to an app store and isn't immediately modifiable, like a website, can be difficult. Since you cannot immediately deploy updates, you sometimes need to bake in hardcoded date-based logic. Testing future dates can be difficult if you don't know how to quickly change the date on your local machine.
To change the current date on your Mac, execute the following from command line:
# Date Format: MMDDYYYY
sudo date -I 06142024
This command does not modify time, only the current date. Using the same command to reset to current date is easy as well!
![Page Visibility API]()
One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?
![Create a CSS Cube]()
CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals. Add animation and you've got something really neat. Unfortunately each CSS cube tutorial I've read is a bit...
![CSS Ellipsis Beginning of String]()
I was incredibly happy when CSS text-overflow: ellipsis
(married with fixed width
and overflow: hidden
was introduced to the CSS spec and browsers; the feature allowed us to stop trying to marry JavaScript width calculation with string width calculation and truncation. CSS ellipsis was also very friendly to...
![MooTools Typewriter Effect Plugin]()
Last week, I read an article in which the author created a typewriter effect using the jQuery JavaScript framework. I was impressed with the idea and execution of the code so I decided to port the effect to MooTools. After about an hour of coding...
I didn’t understand your exact use case, but a helpful way to do date-related testing without modifying your actual computer date/time, is to shim the system calls with library pre-loading. On a Mac, dyld can do this with DYLD_LIBRARY_PATH. On Linux, GNU ld can do it with LD_LIBRARY_PATH.
This makes it easy to write tests for specific situations, such as monthly changeovers, leap-occurrences, timezones, etc.
“libfaketime” is a handy library written for this, https://github.com/wolfcw/libfaketime. It’s even packaged in homebrew, just do
brew install libfaketime
. :)