JavaScript中,Date對象用于處理日期和時間。常見創建Date對象的方式有兩種,具體介紹如下。推薦了解黑馬程序員web前端課程。
創建不帶參數的Date對象,示例代碼如下:
var d=new Date();
在上述代碼中,創建了一個含有系統當前日期和時間的Date對象。
創建一個指定日期的Date對象,示例代碼如下:
var d=new Date(2015,1);
在上述示例代碼中“2015”表示年份,“1”表示月份,運用這種方式可以分別傳入年、月、日、時、分、秒(月的范圍是0-11,即真實月份減去1),例如下面的示例代碼:
var =new Dte(2015,7,3,10,20,30,50);
在上述代碼中,創建了一個包含確切日期和時間的Date對象,即2015年8月3日10點20分30秒50毫秒。需要注意的是,在創建指定日期的Date對象時,最少需要指定年、月兩個參數,后面的參數在省略時會自動使用默認值。值得一提的是,通過字符串也可以傳入事件和日期,其創建方式如下:
var d=new Date('2017-10-0111:53:04');
在上述示例代碼中,系統會自動識別字符串,轉換為日期和時間。需要注意的是使用字符串傳入日期時,至少要指定年份。了解創建對象的常見方式之后,接下來介紹Date對象的常用方法。
(1)getFullYear()
獲取表示年份的4位數字,如2020。
(2)setFullYear(value)
設置年份
(3)getMonth()
獲取月份,范圍為0-11(0表示一月,1表示二月,依此類推)
(4)setMonth(value)
設置月份
(5)getDate()
獲取月份中的某一天,范圍為1~31
(6)setDate(value)
設置月份中的某一天
(7)getDay()
獲取星期,范圍為0-6(0表示星期日,1表示星期一,依此類推)
(8)getHours()
獲取小時數,范圍為0-23
(9)setHours(value)
設置小時數
(10)getMinutes()
獲取分鐘數,范圍為0~59
(11)setMinutes(value)
設置分鐘數
(12)getSeconds()
獲取秒數,范圍為0-59
(13)setSeconds(value)
設置秒數
(14)getMilliseconds()獲取毫秒數,范圍為0-99
(15)setMilliseconds(value)
設置毫秒數
(16)getTime()
獲取從1970-01-01 00:00:00距離Date對象所代表時間的毫秒數
(17)setTime(value)
通過從1970-01-01 00:00: 00計時的毫秒數來設置時間
喜歡記得關注一下哦。
常開發中,Date對于我們來說是經常使用到的,平常使用的一些UI框架,如Antd、ElementUI等都會使用像moment.js、day.js的時間工具庫去處理它們關于時間的組件,但當我們脫離這些框架,想去解決一個關于時間轉換的問題,引入一個時間工具庫就顯得冗余了,由此這里給大家分享22個關于Date實用的一行Javascript與typescript代碼大全,建議收藏閱讀!
前置知識
Intl 對象是 ECMAScript 國際化 API 的一個命名空間,它提供了精確的字符串對比、數字格式化,和日期時間格式化。Collator,NumberFormat 和 DateTimeFormat 對象的構造函數是 Intl 對象的屬性。了解更多
Intl.DateTimeFormat是根據語言來格式化日期和時間的對象的構造器
語法:
// locales為語言
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
// 格式化對應語言得日期,date為Date實例,返回日期字符串
new Intl.DateTimeFormat(locale).format(date)
// 獲取時區
Intl.DateTimeFormat().resolvedOptions().timeZone
22個關于Date實用的一行Javascript與typescript代碼大全
JavaScript 版本
// `h` 是 0 到 23 之間的小時數
const suffixAmPm = (h) => `${h % 12 === 0 ? 12 : h % 12}${h < 12 ? 'am' : 'pm'}`;
TypeScript 版本
期對象用于處理日期和時間。
在線實例
<a target="_blank" 返回當日的日期和時間<="" a="" style="margin: 0px; padding: 0px; color: rgb(100, 133, 76); text-decoration: underline; transition-duration: 0.2s; transition-property: opacity;">
如何使用 Date() 方法獲得當日的日期。
<a target="_blank" 返回當日的日期和時間<="" a="" style="margin: 0px; padding: 0px; color: rgb(100, 133, 76); transition-duration: 0.2s; transition-property: opacity; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, STHeiti, 'Microsoft Yahei', sans-serif; font-size: 12px; line-height: normal; white-space: normal;">
<a target="_blank" 返回當日的日期和時間<="" a="" style="margin: 0px; padding: 0px; color: rgb(100, 133, 76); text-decoration: underline; transition-duration: 0.2s; transition-property: opacity;">getFullYear()
使用 getFullYear() 獲取年份。
getTime()
getTime() 返回從 1970 年 1 月 1 日至今的毫秒數。
setFullYear()
如何使用 setFullYear() 設置具體的日期。
toUTCString()
如何使用 toUTCString() 將當日的日期(根據 UTC)轉換為字符串。
getDay()
如何使用 getDay() 和數組來顯示星期,而不僅僅是數字。
Display a clock
如何在網頁上顯示一個鐘表。
完整的 Date 對象參考手冊
我們提供 JavaScript Date 對象參考手冊,其中包括所有可用于日期對象的屬性和方法。JavaScript Date 對象參考手冊。
該手冊包含了對每個屬性和方法的詳細描述以及相關實例。
創建日期
Date 對象用于處理日期和時間。
可以通過 new 關鍵詞來定義 Date 對象。以下代碼定義了名為 myDate 的 Date 對象:
有四種方式初始化日期:
new Date() // 當前日期和時間
new Date(milliseconds) //返回從 1970 年 1 月 1 日至今的毫秒數
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
上面的參數大多數都是可選的,在不指定的情況下,默認參數是0。
<p從 1970="" 年="" 1="" 月="" 日通用一天計算為86,400,000毫秒<="" p="" style="color: rgb(51, 51, 51); font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, STHeiti, 'Microsoft Yahei', sans-serif; font-size: 12px; line-height: normal; white-space: normal;">
實例化一個日期的一些例子:
var today = new Date()
var d1 = new Date("October 13, 1975 11:13:00")
var d2 = new Date(79,5,24)
var d3 = new Date(79,5,24,11,33,0)
設置日期
通過使用針對日期對象的方法,我們可以很容易地對日期進行操作。
在下面的例子中,我們為日期對象設置了一個特定的日期 (2010 年 1 月 14 日):
var myDate=new Date();
myDate.setFullYear(2010,0,14);
在下面的例子中,我們將日期對象設置為 5 天后的日期:
var myDate=new Date();
myDate.setDate(myDate.getDate()+5);
注意: 如果增加天數會改變月份或者年份,那么日期對象會自動完成這種轉換。
兩個日期比較
日期對象也可用于比較兩個日期。
下面的代碼將當前日期與 2100 年 1 月 14 日做了比較:
var x=new Date();
x.setFullYear(2100,0,14);
var today = new Date();
if (x>today)
{
alert("今天是2100年1月14日之前");
}
else
{
alert("今天是2100年1月14日之后");
}
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。