欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實(shí)現(xiàn)獲取各種格式的時(shí)間

 更新時(shí)間:2023年08月08日 08:59:29   作者:一花一world  
在?JavaScript?中,可以使用內(nèi)置的?Date?對(duì)象來(lái)獲取當(dāng)前時(shí)間,并根據(jù)需要格式化成不同的時(shí)間格式,下面就跟隨小編一起來(lái)看看具體的使用吧

在 JavaScript 中,可以使用內(nèi)置的 Date 對(duì)象來(lái)獲取當(dāng)前時(shí)間,并根據(jù)需要格式化成不同的時(shí)間格式。以下是獲取時(shí)間、年月日和各種格式的時(shí)間的示例代碼:

// 獲取當(dāng)前時(shí)間
let currentTime = new Date();
// 獲取年份
let year = currentTime.getFullYear();
// 獲取月份(注意月份是從0開(kāi)始計(jì)數(shù)的,所以需要加1)
let month = currentTime.getMonth() + 1;
// 獲取日期
let day = currentTime.getDate();
// 獲取小時(shí)
let hours = currentTime.getHours();
// 獲取分鐘
let minutes = currentTime.getMinutes();
// 獲取秒數(shù)
let seconds = currentTime.getSeconds();
// 獲取毫秒數(shù)
let milliseconds = currentTime.getMilliseconds();
// 格式化時(shí)間為 YYYY-MM-DD
let formattedDate = `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`;
// 格式化時(shí)間為 HH:MM:SS
let formattedTime = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
// 格式化時(shí)間為 YYYY-MM-DD HH:MM:SS
let formattedDateTime = `${formattedDate} ${formattedTime}`;
// 格式化時(shí)間為 MM/DD/YYYY
let formattedDateUS = `${month.toString().padStart(2, '0')}/${day.toString().padStart(2, '0')}/${year}`;
// 格式化時(shí)間為 HH:MM AM/PM
let formattedTime12Hour = `${hours % 12 || 12}:${minutes.toString().padStart(2, '0')} ${hours < 12 ? 'AM' : 'PM'}`;
console.log('當(dāng)前時(shí)間:', currentTime);
console.log('年份:', year);
console.log('月份:', month);
console.log('日期:', day);
console.log('小時(shí):', hours);
console.log('分鐘:', minutes);
console.log('秒數(shù):', seconds);
console.log('毫秒數(shù):', milliseconds);
console.log('格式化日期:', formattedDate);
console.log('格式化時(shí)間:', formattedTime);
console.log('格式化日期時(shí)間:', formattedDateTime);
console.log('格式化日期(美國(guó)格式):', formattedDateUS);
console.log('格式化12小時(shí)制時(shí)間:', formattedTime12Hour);

這段代碼將獲取當(dāng)前時(shí)間,并使用不同的方法來(lái)獲取年份、月份、日期、小時(shí)、分鐘、秒數(shù)和毫秒數(shù)。然后,使用不同的格式化方式將時(shí)間格式化成不同的格式,包括YYYY-MM-DD、HH:MM:SS、YYYY-MM-DD HH:MM:SS、MM/DD/YYYY和HH:MM AM/PM等格式。你可以根據(jù)需要選擇合適的格式化方式來(lái)獲取不同的時(shí)間格式。

獲取昨天、明天的日期 、獲取本周、上周、下周的開(kāi)始結(jié)束日期

在 JavaScript 中,可以使用 Date 對(duì)象和一些日期計(jì)算方法來(lái)獲取昨天、明天的日期,以及本周、上周、下周的開(kāi)始和結(jié)束日期。以下是示例代碼:

// 獲取昨天的日期
let yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
// 獲取明天的日期
let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
// 獲取本周的開(kāi)始日期和結(jié)束日期
let today = new Date();
let startOfWeek = new Date(today.setDate(today.getDate() - today.getDay()));
let endOfWeek = new Date(today.setDate(today.getDate() - today.getDay() + 6));
// 獲取上周的開(kāi)始日期和結(jié)束日期
let startOfLastWeek = new Date(startOfWeek);
startOfLastWeek.setDate(startOfLastWeek.getDate() - 7);
let endOfLastWeek = new Date(endOfWeek);
endOfLastWeek.setDate(endOfLastWeek.getDate() - 7);
// 獲取下周的開(kāi)始日期和結(jié)束日期
let startOfNextWeek = new Date(startOfWeek);
startOfNextWeek.setDate(startOfNextWeek.getDate() + 7);
let endOfNextWeek = new Date(endOfWeek);
endOfNextWeek.setDate(endOfNextWeek.getDate() + 7);
console.log('昨天的日期:', yesterday);
console.log('明天的日期:', tomorrow);
console.log('本周的開(kāi)始日期:', startOfWeek);
console.log('本周的結(jié)束日期:', endOfWeek);
console.log('上周的開(kāi)始日期:', startOfLastWeek);
console.log('上周的結(jié)束日期:', endOfLastWeek);
console.log('下周的開(kāi)始日期:', startOfNextWeek);
console.log('下周的結(jié)束日期:', endOfNextWeek);

這段代碼使用 Date 對(duì)象和一些日期計(jì)算方法來(lái)獲取昨天和明天的日期。然后,使用一些日期計(jì)算方法來(lái)獲取本周的開(kāi)始日期和結(jié)束日期。接下來(lái),通過(guò)調(diào)整本周的開(kāi)始日期和結(jié)束日期,來(lái)獲取上周的開(kāi)始日期和結(jié)束日期,以及下周的開(kāi)始日期和結(jié)束日期。最后,將獲取到的日期打印輸出。你可以根據(jù)需要使用這些日期來(lái)進(jìn)行進(jìn)一步的處理和展示。

封裝整體

當(dāng)你需要頻繁地獲取昨天、明天的日期,以及本周、上周、下周的開(kāi)始和結(jié)束日期時(shí),可以封裝一個(gè)函數(shù)來(lái)方便調(diào)用。以下是一個(gè)封裝的方案示例:

function getDateRange() {
  let today = new Date();
  let yesterday = new Date();
  yesterday.setDate(yesterday.getDate() - 1);
  let tomorrow = new Date();
  tomorrow.setDate(tomorrow.getDate() + 1);
  let startOfWeek = new Date(today.setDate(today.getDate() - today.getDay()));
  let endOfWeek = new Date(today.setDate(today.getDate() - today.getDay() + 6));
  let startOfLastWeek = new Date(startOfWeek);
  startOfLastWeek.setDate(startOfLastWeek.getDate() - 7);
  let endOfLastWeek = new Date(endOfWeek);
  endOfLastWeek.setDate(endOfLastWeek.getDate() - 7);
  let startOfNextWeek = new Date(startOfWeek);
  startOfNextWeek.setDate(startOfNextWeek.getDate() + 7);
  let endOfNextWeek = new Date(endOfWeek);
  endOfNextWeek.setDate(endOfNextWeek.getDate() + 7);
  return {
    yesterday,
    tomorrow,
    startOfWeek,
    endOfWeek,
    startOfLastWeek,
    endOfLastWeek,
    startOfNextWeek,
    endOfNextWeek,
  };
}
// 調(diào)用函數(shù)獲取日期范圍
let dateRange = getDateRange();
console.log('昨天的日期:', dateRange.yesterday);
console.log('明天的日期:', dateRange.tomorrow);
console.log('本周的開(kāi)始日期:', dateRange.startOfWeek);
console.log('本周的結(jié)束日期:', dateRange.endOfWeek);
console.log('上周的開(kāi)始日期:', dateRange.startOfLastWeek);
console.log('上周的結(jié)束日期:', dateRange.endOfLastWeek);
console.log('下周的開(kāi)始日期:', dateRange.startOfNextWeek);
console.log('下周的結(jié)束日期:', dateRange.endOfNextWeek);

這個(gè)封裝的方案定義了一個(gè)名為 getDateRange 的函數(shù),該函數(shù)返回一個(gè)包含昨天、明天的日期,以及本周、上周、下周的開(kāi)始和結(jié)束日期的對(duì)象。然后,通過(guò)調(diào)用 getDateRange 函數(shù)來(lái)獲取日期范圍,并將結(jié)果打印輸出。你可以根據(jù)需要將這個(gè)方案集成到你的項(xiàng)目中,以方便地獲取日期范圍。

封裝方案的優(yōu)點(diǎn)

代碼復(fù)用:封裝方案可以將重復(fù)的代碼封裝起來(lái),使得代碼更加簡(jiǎn)潔和可維護(hù)。

方便調(diào)用:封裝方案可以將復(fù)雜的操作封裝成一個(gè)函數(shù),方便調(diào)用和使用。

提高可讀性:封裝方案可以給函數(shù)起一個(gè)有意義的名字,使得代碼更加易讀和易懂。

封裝方案的缺點(diǎn)

限制性:封裝方案可能無(wú)法滿足所有的使用場(chǎng)景,因?yàn)樗腔谔囟ㄐ枨筮M(jìn)行封裝的。

可擴(kuò)展性:封裝方案可能難以擴(kuò)展,特別是當(dāng)需求發(fā)生變化時(shí),可能需要修改封裝方案。

使用場(chǎng)景

封裝日期范圍的方案適用于以下場(chǎng)景:

1.需要頻繁地獲取昨天、明天的日期,以及本周、上周、下周的開(kāi)始和結(jié)束日期。

2.需要在項(xiàng)目中多處地方使用相同的日期范圍。

3.需要將日期范圍的獲取邏輯封裝成一個(gè)可復(fù)用的函數(shù)。

總的來(lái)說(shuō),封裝方案適用于需要復(fù)用和簡(jiǎn)化代碼的場(chǎng)景,特別是當(dāng)某個(gè)操作需要在多個(gè)地方使用時(shí)。但是在使用封裝方案時(shí),需要注意其適用性和可擴(kuò)展性,確保方案能夠滿足當(dāng)前的需求,并且能夠方便地進(jìn)行擴(kuò)展和修改。

到此這篇關(guān)于JS實(shí)現(xiàn)獲取各種格式的時(shí)間的文章就介紹到這了,更多相關(guān)JS獲取時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 小程序?qū)崿F(xiàn)滑動(dòng)塊效果

    小程序?qū)崿F(xiàn)滑動(dòng)塊效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)滑動(dòng)塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • JavaScript實(shí)現(xiàn)的日期控件具體代碼

    JavaScript實(shí)現(xiàn)的日期控件具體代碼

    JavaScript實(shí)現(xiàn)的日期控件,它還會(huì)讀取當(dāng)前的時(shí)間,有需要的朋友可以參考一下
    2013-11-11
  • JS中for循環(huán)的四種寫(xiě)法示例(入門級(jí))

    JS中for循環(huán)的四種寫(xiě)法示例(入門級(jí))

    對(duì)于for循環(huán)相信大家再常用不過(guò)了,下面這篇文章主要給大家介紹了關(guān)于JS中for循環(huán)的四種寫(xiě)法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • js 數(shù)組詳細(xì)操作方法及解析合集

    js 數(shù)組詳細(xì)操作方法及解析合集

    在開(kāi)發(fā)中,數(shù)組的使用場(chǎng)景非常多,平日中也涉及到很多數(shù)組的api/相關(guān)操作,一直也沒(méi)有對(duì)這塊內(nèi)容進(jìn)行一塊整理總結(jié),很多時(shí)候就算用過(guò)幾次這個(gè)api,在開(kāi)發(fā)中也很容易忘記,還是要谷歌一下
    2018-06-06
  • JS采用絕對(duì)定位實(shí)現(xiàn)回到頂部效果完整實(shí)例

    JS采用絕對(duì)定位實(shí)現(xiàn)回到頂部效果完整實(shí)例

    這篇文章主要介紹了JS采用絕對(duì)定位實(shí)現(xiàn)回到頂部效果,以完整實(shí)例形式分析了JS定位到頁(yè)面頂部功能的實(shí)現(xiàn)方法,涉及javascript動(dòng)態(tài)操作頁(yè)面元素與屬性的相關(guān)技巧,需要的朋友可以參考下
    2016-06-06
  • js 實(shí)現(xiàn)復(fù)選框只能選擇一項(xiàng)的示例代碼

    js 實(shí)現(xiàn)復(fù)選框只能選擇一項(xiàng)的示例代碼

    下面小編就為大家分享一篇js 實(shí)現(xiàn)復(fù)選框只能選擇一項(xiàng)的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 簡(jiǎn)單談?wù)刯avascript代碼復(fù)用模式

    簡(jiǎn)單談?wù)刯avascript代碼復(fù)用模式

    這篇文章主要簡(jiǎn)單談?wù)刯avascript代碼復(fù)用模式,主要詳細(xì)介紹了類式繼承模式中的默認(rèn)模式,希望大家能夠喜歡。
    2015-01-01
  • ES6學(xué)習(xí)教程之模板字符串詳解

    ES6學(xué)習(xí)教程之模板字符串詳解

    大家都知道在ES6中引進(jìn)的一種新型的字符串字面量語(yǔ)法-模板字符串,下面這篇文章主要給大家介紹了關(guān)于ES6學(xué)習(xí)教程之模板字符串的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • javascript+css實(shí)現(xiàn)俄羅斯方塊小游戲

    javascript+css實(shí)現(xiàn)俄羅斯方塊小游戲

    這篇文章主要為大家詳細(xì)介紹了javascript+css實(shí)現(xiàn)俄羅斯方塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 原生JS實(shí)現(xiàn)多條件篩選

    原生JS實(shí)現(xiàn)多條件篩選

    這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)多條件篩選,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評(píng)論