JavaScript 日期的完全指南

在JavaScript中使用日期可能很复杂。学习所有的技巧以及如何使用它们。 处理日期可以很“复杂”。无论使用什么技术,开发人员都会感到痛苦。 JavaScript提供了一个通过强大的内置对象Date来处理日期的功能。 提示:当处理日期时,您可能希望使用一个库。Moment.js和date-fns是最流行的两个。 日期对象 一个日期对象实例表示一个时间点。 尽管名字是Date,它也处理时间。 初始化日期对象 我们使用以下方式初始化一个日期对象。 new Date() 这将创建一个指向当前时间点的日期对象。 在内部,日期以从1970年1月1日(UTC)以来的毫秒表示。这个日期很重要,因为在计算机看来,一切都是在那一天开始的。 您可能对UNIX时间戳很熟悉:它代表了自那个著名日期以来经过的秒数。 如果我们有一个UNIX时间戳,我们可以使用以下方式实例化一个JavaScript日期对象: const timestamp = 1530826365; new Date(timestamp * 1000); 除非时间戳是由JS生成的,否则它已经在正确的比例上。 确保传递一个数字(字符串将得到一个“无效的日期”结果 - 如有疑问请使用parseInt()) 如果我们传递0,我们将得到一个代表1970年1月1日(UTC)时间的日期对象: new Date(0) 如果我们传递一个字符串而不是数字,那么日期对象将使用parse方法来确定您传递的日期。例如: new Date('2018-07-22') new Date('2018-07') // 2018年7月1日,00:00:00 new Date('2018') // 2018年1月1日,00:00:00 new Date('07/22/2018') new Date('2018/07/22') new Date('2018/7/22') new Date('July 22, 2018') new Date('July 22, 2018 07:22:13') new Date('2018-07-22 07:22:13') new Date('2018-07-22T07:22:13') new Date('25 March 2018') new Date('25 Mar 2018') new Date('25 March, 2018') new Date('March 25, 2018') new Date('March 25 2018') new Date('March 2018') // 2018年3月1日,00:00:00 new Date('2018 March') // 2018年3月1日,00:00:00 new Date('2018 MARCH') // 2018年3月1日,00:00:00 new Date('2018 march') // 2018年3月1日,00:00:00 这里有很大的灵活性。您可以在月份或日期中添加或省略前导零。...

Moment.js 教學

Moment.js 是一個在 JavaScript 中處理日期非常有幫助的庫。 Moment.js 是一個非常棒的 JavaScript 库,可以幫助你處理日期,不管是在瀏覽器上還是在 Node.js 中都可以使用。 這篇文章旨在解釋這個庫的基本知識和最常見的用法。 安裝 你可以直接在你的頁面中使用 script 標籤引入它,從 unpkg.com: <script src="https://unpkg.com/moment" /> 或者使用 npm 安裝: npm install moment 如果你使用 npm 安裝,需要用 import 引入這個包(使用 ES 模块): import moment from 'moment' 或者用 require 引入它(使用 CommonJS): const moment = require('moment') 獲取當前日期和時間 const date = moment() 解析日期 你可以通過傳遞一個字符串給 moment 對象來初始化它。 const date = moment(string) 它可以接受任意字符串,按照以下順序解析: ISO 8601 RFC 2822 日期時間格式 Date 對象接受的格式 ISO 8601 絕對是最方便的。這是一個格式參考: 格式 意義 範例 YYYY 4 位數年份 2018 YY 2 位數年份 18 M 2 位數月份,忽略前導 0 7 MM 2 位數月份 07 MMM 3 字母月份名稱 Jul MMMM 完整的月份名稱 July dddd 完整的星期名稱 Sunday gggg 4 位數年份的星期 2018 gg 2 位數年份的星期 18 w 不帶前導零的一年中的星期數 18 ww 帶有前導零的一年中的星期數 18 e 星期的第幾天,從 0 開始 4 D 2 位數的日期,忽略前導 0 9 DD 2 位數的日期 09 Do 帶序數的日期 9th T 表示時間部分的開始 HH 2 位數的小時(24 小時制),從 0 到 23 22 H 2 位數的小時(24 小時制),從 0 到 23,不帶前導 0 22 kk 2 位數的小時(24 小時制),從 1 到 24 23 k 2 位數的小時(24 小時制),從 1 到 24,不帶前導 0 23 a/A 上午 或者 下午 下午 hh 2 位數的小時(12 小時制) 11 mm 2 位數的分鐘 22 ss 2 位數的秒數 40 s 2 位數的秒數,不帶前導零 40 S 1 位數的毫秒數 1 SS 2 位數的毫秒數 12 SSS 3 位數的毫秒數 123 Z 時區 +02:00 x 毫秒級的 UNIX 時間戳 1410432140575 設置日期 格式化日期 當你想要輸出普通的 JavaScript Date 對象的內容時,你只有很少的選擇來確定格式。你只能使用內置的方法,使用它們來組成你想要的日期。...

如何在 C 語言的 `printf()` 函數中印出百分比符號

在撰寫 C 語言程式時,你可能需要使用 printf() 函數來印出百分比符號 %。 也許你正在開發一個計算百分比的程式,在你初學這門語言並創建小型程式時,這是相當常見的。 該如何達成這個目標? 如果你嘗試像這樣使用的話: printf("%"); 這樣是行不通的,而且編譯器會給你一個警告訊息,像這樣: hello.c:9:14: warning: incomplete format specifier [-Wformat] printf("%"); ^ 1 warning generated. 結果並不會被印出。 要使其正常運作,你需要輸入 %%,像這樣: printf("%%");

如何在 JavaScript 中將數字格式化為貨幣值

透過 JavaScript 的國際化 API,了解如何將數字轉換為貨幣值。 假設你有一個數字為 10,代表某物品的價格。 你想將它轉換為 $10.00。 然而,如果數字超過3位數,則應以不同方式顯示,例如 1000 應該顯示為 $1,000.00。 然而,這僅是美元的表示方法。 不同的國家有不同的值表示習慣。 JavaScript 使用 ECMAScript 國際化 API 讓我們能夠輕鬆達成這一目標,這是一個相對較新的瀏覽器 API,提供了許多國際化功能,例如日期和時間格式化。 該 API 目前得到了很好的支援: const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 2 }) formatter.format(1000) // "$1,000.00" formatter.format(10) // "$10.00" formatter.format(123233000) // "$123,233,000.00" minimumFractionDigits 屬性設定小數部分的最少位數為2位。您可以在 NumberFormat MDN 頁面 中檢查可用的其他參數。 以下是一個創建意大利國家的歐元貨幣數字格式化器的示例: const formatter = new Intl.NumberFormat('it-IT', { style: 'currency', currency: 'EUR' })