The following points should be noted when handling dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.
Handling dates and times in JavaScript is actually not as complicated as imagined, but it is indeed prone to errors. Many people will be confused by the usage of Date
objects at the beginning, or they will be trapped in time zones, formatting and other issues. This article will talk about a few practical points to help you understand and use JS more clearly.

Create a date object
The most basic operation in JavaScript is to create a Date
object. There are a number of ways you can initialize it:

- No parameters are passed:
new Date()
will return the current time. - Incoming timestamp:
new Date(1717029200000)
(unit is milliseconds). - Pass in string:
new Date('2024-06-01T12:00:00')
. - Pass in the year, month, day and other parameters:
new Date(2024, 5, 1, 12, 0, 0)
(Note that the month starts from 0).
Reminder: Different browsers may have slightly different support for string formats, so it is recommended to use the ISO standard format
'YYYY-MM-DDTHH:mm:ss'
, which is the best compatibility.
Get and set time information
Once you have a Date
object, you can extract information such as year, month, day, hour, minute, and second from it. Common methods are:

-
getFullYear()
get year -
getMonth()
gets the month (starting from 0) -
getDate()
gets the date -
getHours()
,getMinutes()
,getSeconds()
get the time part
There are also corresponding set
methods, such as setHours()
, which can be used to modify the time.
For example:
const now = new Date(); console.log(now.getFullYear()); // Output year, such as 2025 console.log(now.getMonth()); // Output month, 0 means January
A small detail: If you want to do "add one day", calling
setDate(now.getDate() 1)
directly is a safer way, which will automatically handle the problem of month switching.
Timestamp and formatted output
Sometimes you need to convert time into timestamps, or format it into a string.
-
getTime()
orDate.now()
can get the current timestamp (in milliseconds). -
toISOString()
returns a string in ISO format. - If you want to customize the format, such as
"YYYY-MM-DD"
, you have to splice it yourself. You can also consider introducing lightweight libraries such asday.js
ordate-fns
.
For example, manually format a date as "YYYY-MM-DD"
:
function formatDate(date) { const year = date.getFullYear(); const month = String(date.getMonth() 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; }
Note:
getMonth()
returns from 0, so remember to add 1 when formatting.
Handle time zone issues
JavaScript's Date
object is based on the local time zone of the running environment by default. If you want to deal with UTC time, you can use the following methods:
-
getUTCFullYear()
-
getUTCMonth()
-
toUTCString()
In addition, if you need to precisely control the time zone conversion, such as displaying the time of a specific time zone, it is recommended to use time zone-enabled libraries such as Luxon or date-fns-tz .
Basically that's it.
Although JS's date processing seems simple, many details are easily overlooked, such as the month starts from 0, the string format is not uniform, the time zone processing is confused, etc. Mastering the above basic methods and a little bit of caution can deal with most scenarios.
The above is the detailed content of How to work with dates and times in js?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development.

CommentsarecrucialinJavaScriptformaintainingclarityandfosteringcollaboration.1)Theyhelpindebugging,onboarding,andunderstandingcodeevolution.2)Usesingle-linecommentsforquickexplanationsandmulti-linecommentsfordetaileddescriptions.3)Bestpracticesinclud

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

JavaScripthasseveralprimitivedatatypes:Number,String,Boolean,Undefined,Null,Symbol,andBigInt,andnon-primitivetypeslikeObjectandArray.Understandingtheseiscrucialforwritingefficient,bug-freecode:1)Numberusesa64-bitformat,leadingtofloating-pointissuesli

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl
