จัดรูปแบบปลั๊กอินสำหรับวัตถุ Moment Duration
นี่คือปลั๊กอินของไลบรารีวันที่ Moment.js JavaScript เพื่อเพิ่มการจัดรูปแบบที่ครอบคลุมให้กับ Moment Durations
ไวยากรณ์เทมเพลตรูปแบบมีลวดลายตามไวยากรณ์เทมเพลต Moment Date ที่มีอยู่ โดยมีการปรับเปลี่ยนเล็กน้อยเนื่องจากระยะเวลาโดยพื้นฐานแตกต่างจากวันที่
ปลั๊กอินนี้ไม่มีการพึ่งพาใดๆ นอกเหนือจาก Moment.js เอง และอาจใช้ในเบราว์เซอร์และใน Node.js
ในกรณีที่พร้อมใช้งานและใช้งานได้ ปลั๊กอินนี้จะใช้ Intl.NumberFormat#format
หรือ Number#toLocaleString
เพื่อแสดงเอาต์พุตตัวเลขที่จัดรูปแบบแล้ว น่าเสียดายที่สภาพแวดล้อมหลายแห่งไม่ได้ใช้ชุดตัวเลือกเต็มรูปแบบตามข้อกำหนดเฉพาะของตนอย่างเต็มที่ และบางสภาพแวดล้อมก็มีการใช้งานแบบบั๊กกี้
ปลั๊กอินนี้รันการทดสอบคุณสมบัติสำหรับฟอร์แมตเตอร์แต่ละตัว และจะเปลี่ยนกลับไปเป็นฟังก์ชันสำรองเพื่อแสดงเอาต์พุตตัวเลขที่จัดรูปแบบแล้ว หากการทดสอบคุณสมบัติล้มเหลว หากต้องการบังคับให้ปลั๊กอินนี้ใช้ฟังก์ชันรูปแบบตัวเลขสำรองเสมอ ให้ตั้ง useToLocaleString
เป็น false
คุณสามารถแปลเอาต์พุตฟังก์ชันรูปแบบตัวเลขสำรองได้โดยใช้ตัวเลือกที่มีรายละเอียดที่ด้านล่างของหน้านี้ โดยทั่วไป คุณควรระบุตัวเลือกการจัดรูปแบบตัวเลขทางเลือก หากการจัดรูปแบบภาษา "en"
เริ่มต้นไม่เป็นที่ยอมรับบนอุปกรณ์บางตัวหรือในบางสภาพแวดล้อม
ปลั๊กอินนี้ได้รับการทดสอบโดยใช้ BrowserStack บนอุปกรณ์ Android หลายรุ่นที่มีระบบปฏิบัติการเวอร์ชัน 2.2 ถึง 7 และบนอุปกรณ์ iOS หลายรุ่นที่มีระบบปฏิบัติการเวอร์ชัน 4.3 ถึง 11 นอกจากนี้ยังทดสอบบนเบราว์เซอร์ Chrome, Firefox, IE 8-11 และ Edge .
โปรดแจ้งปัญหาหากคุณสังเกตเห็นปัญหาการจัดรูปแบบหรือความผิดปกติในสภาพแวดล้อมใดๆ!
เหลือบางรายการที่ต้องทำให้เวอร์ชัน 2 เสร็จสิ้น:
เพิ่มคำจำกัดความประเภทเพื่อรองรับ TypeScript เผยแพร่แพ็คเกจ NuGet และรองรับตัวเลือกแพ็คเกจอื่นๆ ที่ใช้อยู่ในปัจจุบัน
การทดสอบปลั๊กอินควรได้รับการปรับปรุงให้ทันสมัย เพื่อให้ตรงกับการตั้งค่าการทดสอบ Moment.js
เมื่อใช้ปลั๊กอินรูปแบบช่วงเวลาช่วงเวลาเวอร์ชัน 2 แล้ว มีการปรับปรุงบางอย่างที่ชัดเจนสำหรับเวอร์ชัน 3
แนวคิดด้านล่างถูกบันทึกเป็นปัญหาและติดแท็กด้วยเหตุการณ์สำคัญ 3.0.0 หากคุณมีความคิดหรือความคิดเห็นเกี่ยวกับสิ่งที่คุณต้องการดู โปรดบันทึกปัญหาในโครงการนี้!
ตัวเลือกการแปลการจัดรูปแบบตัวเลขสำรองควรรวมอยู่ในส่วนขยายวัตถุ Moment Locale ที่ปลั๊กอินนี้เพิ่มไว้แล้วสำหรับการแปลป้ายกำกับหน่วยระยะเวลา นี่จะทำให้การกำหนดค่าการแปลเป็นภาษาท้องถิ่นทั้งหมดรวมอยู่ในที่เดียว
Moment-duration-format และฟังก์ชันการจัดรูปแบบตัวเลขทางเลือกไม่เป็นไปตาม API เดียวกันกับ Number#toLocaleString
สำหรับตัวเลขที่มีนัยสำคัญและตัวเลขฝ่าย ฟังก์ชันสำรองควรได้รับการอัปเดตเพื่อใช้ toLocaleString
API และปลั๊กอินควรเปิดเผยตัวเลือก API โดยตรง แทนที่จะซ่อนตัวเลือกบางส่วนและปิดบังไว้เบื้องหลัง precision
และตัวเลือก useSignificantDigits
การแสดงฟังก์ชันการจัดรูปแบบตัวเลขสำรองและฟังก์ชันทดสอบคุณลักษณะของตัวจัดรูปแบบจะช่วยอำนวยความสะดวกในการทดสอบและอนุญาตให้ใช้นอกบริบทของระยะเวลาการจัดรูปแบบได้
ปลั๊กอินขึ้นอยู่กับ Moment.js ซึ่งไม่ได้ระบุว่าเป็นการพึ่งพาแพ็คเกจในเวอร์ชันที่เผยแพร่ในปัจจุบัน
โหนด js
npm install moment-duration-format
โบว์เวอร์
bower install moment-duration-format
เบราว์เซอร์
<script src="path/to/moment-duration-format.js"></script>
ปลั๊กอินนี้จะพยายามติดตั้งตัวเองบนอินสแตนซ์ root.moment
เสมอ หากมีอยู่
ปลั๊กอินนี้จะติดตั้งฟังก์ชันการตั้งค่าไปที่ root.momentDurationFormatSetup
เพื่อให้สามารถเรียกใช้อินสแตนซ์ช่วงเวลาใดก็ได้ในภายหลัง
เมื่อใช้ปลั๊กอินนี้ในเบราว์เซอร์ หากคุณไม่ได้รวม Moment.js ไว้ในเพจของคุณก่อน คุณจะต้องเรียก window.momentDurationFormatSetup
ด้วยตนเองบนอินสแตนซ์ Moment ของคุณเมื่อถูกสร้างขึ้น
หากต้องการใช้ปลั๊กอินนี้เป็นโมดูล ให้ใช้ฟังก์ชัน require
var moment = require ( "moment" ) ;
var momentDurationFormatSetup = require ( "moment-duration-format" ) ;
ปลั๊กอินจะส่งออกฟังก์ชัน init เพื่อให้สามารถเริ่มต้นรูปแบบระยะเวลาในอินสแตนซ์ช่วงเวลาอื่นๆ ได้
หากต้องการใช้ปลั๊กอินนี้กับแพ็คเกจ Moment.js อื่นๆ เช่น moment-timezone
ให้เรียกใช้ฟังก์ชันการตั้งค่าที่ส่งออกด้วยตนเองเพื่อติดตั้งปลั๊กอินลงในแพ็คเกจที่ต้องการ
var moment = require ( "moment-timezone" ) ;
var momentDurationFormatSetup = require ( "moment-duration-format" ) ;
momentDurationFormatSetup ( moment ) ;
typeof moment . duration . fn . format === "function" ;
// true
typeof moment . duration . format === "function" ;
// true
moment . duration . fn . format
เมธอด duration.fn.format
สามารถจัดรูปแบบช่วงเวลาใดก็ได้ หากไม่มีเทมเพลตหรืออาร์กิวเมนต์อื่นๆ ฟังก์ชันเทมเพลตเริ่มต้นจะสร้างสตริงเทมเพลตตามค่าของระยะเวลา
moment . duration ( 123 , "minutes" ) . format ( ) ;
// "2:03:00"
moment . duration ( 123 , "months" ) . format ( ) ;
// "10 years, 3 months"
วิธีการจัดรูปแบบระยะเวลาอาจถูกเรียกพร้อมกับอาร์กิวเมนต์ที่เป็นทางเลือกสามตัว และส่งกลับสตริงที่จัดรูปแบบแล้ว
moment . duration ( value , units ) . format ( [ template ] [ , precision ] [ , settings ] )
// formattedString
moment . duration . format
เมธอด duration.format
ช่วยให้สามารถจัดรูปแบบช่วงเวลาหลายช่วงเวลาพร้อมกันได้ ฟังก์ชันนี้ยอมรับอาร์เรย์ของระยะเวลาเป็นอาร์กิวเมนต์แรก จากนั้นใช้อาร์กิวเมนต์ทางเลือกสามอาร์กิวเมนต์เดียวกันกับฟังก์ชัน duration.fn.format
ฟังก์ชันนี้ส่งคืนอาร์เรย์ของสตริงที่จัดรูปแบบแล้ว
moment . duration . format ( durationsArray , [ template ] [ , precision ] [ , settings ] ) ;
// formattedStringsArray
ตัวเลือกทั้งหมดที่พร้อมใช้งานสำหรับฟังก์ชันรูปแบบระยะเวลาเดียวสามารถใช้กับฟังก์ชันรูปแบบระยะเวลาหลายรายการได้ ออบเจ็กต์การตั้งค่าเดียวใช้เพื่อจัดรูปแบบแต่ละระยะเวลา
moment . duration . format ( [
moment . duration ( 1 , "second" ) ,
moment . duration ( 1 , "minute" ) ,
moment . duration ( 1 , "hour" )
] , "d [days] hh:mm:ss" ) ;
// ["0:00:01", "0:01:00", "1:00:00"]
ระยะเวลาที่ไม่ถูกต้องจะถือเป็นค่า 0
สำหรับการจัดรูปแบบ
var invalidDuration = moment . duration ( NaN , "second" ) ;
invalidDuration . isValid ( ) ;
// false
invalidDuration . format ( ) ;
// "0 seconds"
template
(string|function) คือสตริงที่ใช้ในการสร้างเอาต์พุตที่จัดรูปแบบแล้ว หรือฟังก์ชันที่ส่งคืนสตริงเพื่อใช้เป็นเทมเพลตรูปแบบ
moment . duration ( 123 , "minutes" ) . format ( "h:mm" ) ;
// "2:03"
สตริงเทมเพลตจะถูกแยกวิเคราะห์สำหรับอักขระโทเค็นช่วงเวลา ซึ่งจะถูกแทนที่ด้วยค่าของระยะเวลาสำหรับหน่วยแต่ละประเภท โทเค็นช่วงเวลาคือ:
years: Y or y
months: M
weeks: W or w
days: D or d
hours: H or h
minutes: m
seconds: s
ms: S
อักขระโทเค็น Escape ภายในสตริงเทมเพลตโดยใช้วงเล็บเหลี่ยม
moment . duration ( 123 , "minutes" ) . format ( "h [hrs], m [min]" ) ;
// "2 hrs, 3 mins"
สำหรับรูปแบบระยะเวลาบางรูปแบบ จำเป็นต้องมีค่าที่มีช่องว่างภายในเป็นศูนย์ ใช้อักขระโทเค็นหลายตัวร่วมกันเพื่อสร้างจำนวนช่องว่างภายในที่ถูกต้อง
moment . duration ( 3661 , "seconds" ) . format ( "h:mm:ss" ) ;
// "1:01:01"
moment . duration ( 15 , "seconds" ) . format ( "sss [s]" ) ;
// "015 s"
เมื่อเทมเพลตรูปแบบถูกตัดแต่ง ความยาวของโทเค็นบนโทเค็นที่แสดงผลขนาดที่ใหญ่ที่สุดก็สามารถตัดแต่งได้เช่นกัน ดูส่วน การตัดแต่ง และ ความยาวแรง ด้านล่างสำหรับรายละเอียดเพิ่มเติม
moment . duration ( 123 , "seconds" ) . format ( "h:mm:ss" ) ;
// "2:03"
ความยาวของโทเค็น 2
สำหรับมิลลิวินาทีเป็นกรณีพิเศษ ซึ่งส่วนใหญ่ใช้ในการเรนเดอร์มิลลิวินาทีโดยเป็นส่วนหนึ่งของเอาต์พุตตัวจับเวลา เช่น mm:ss:SS
ในกรณีนี้ ค่ามิลลิวินาทีจะถูกเสริมเป็นสามหลัก จากนั้นจึงตัดทอนจากด้านซ้ายเพื่อแสดงเอาต์พุตสองหลัก
moment . duration ( 9 , "milliseconds" ) . format ( "mm:ss:SS" , {
trim : false
} ) ;
// "00:00:00"
moment . duration ( 10 , "milliseconds" ) . format ( "mm:ss:SS" , {
trim : false
} ) ;
// "00:00:01"
moment . duration ( 999 , "milliseconds" ) . format ( "mm:ss:SS" , {
trim : false
} ) ;
// "00:00:99"
moment . duration ( 1011 , "milliseconds" ) . format ( "mm:ss:SS" , {
trim : false
} ) ;
// "00:01:01"
โทเค็นสามารถปรากฏได้หลายครั้งในเทมเพลตรูปแบบ แต่อินสแตนซ์ทั้งหมดต้องแชร์ความยาวเท่ากัน หากไม่เป็นเช่นนั้น อินสแตนซ์ทั้งหมดจะแสดงผลตามความยาวของโทเค็นแรกของประเภทนั้น
moment . duration ( 15 , "seconds" ) . format ( "ssss sss ss s" ) ;
// "0015 0015 0015 0015"
moment . duration ( 15 , "seconds" ) . format ( "s ss sss ssss" ) ;
// "15 15 15 15"
ฟังก์ชันเทมเพลตเริ่มต้นจะพยายามจัดรูปแบบระยะเวลาตามขนาด ยิ่งค่าระยะเวลามากขึ้น หน่วยของเอาต์พุตที่จัดรูปแบบก็จะยิ่งมีขนาดใหญ่ขึ้น
สำหรับค่าระยะเวลาบางค่า ฟังก์ชันเทมเพลตเริ่มต้นจะ trim
เริ่มต้นเป็น "both"
หากตัวเลือกนั้นไม่ได้ตั้งค่าไว้ในออบเจ็กต์การตั้งค่า (เพิ่มเติมด้านล่าง)
ฟังก์ชันเทมเพลตเริ่มต้นใช้ป้ายกำกับหน่วยที่แปลอัตโนมัติ (เพิ่มเติมด้านล่างด้วย)
moment . duration ( 100 , "milliseconds" ) . format ( ) ;
// "100 milliseconds"
moment . duration ( 100 , "seconds" ) . format ( ) ;
// "1:40"
moment . duration ( 100 , "days" ) . format ( ) ;
// "3 months, 9 days"
moment . duration ( 100 , "weeks" ) . format ( ) ;
// "1 year, 10 months, 30 days"
moment . duration ( 100 , "months" ) . format ( ) ;
// "8 years, 4 months"
ใช้ฟังก์ชันเทมเพลตแบบกำหนดเอง หากคุณต้องการควบคุมรันไทม์เหนือสตริงเทมเพลต ฟังก์ชันเทมเพลตจะดำเนินการด้วยการผูกออบเจ็กต์การตั้งค่า this
และมีสิทธิ์เข้าถึงออบเจ็กต์ระยะเวลาพื้นฐานผ่าน this.duration
การตั้งค่าใดๆ อาจเข้าถึงหรือแก้ไขได้โดยฟังก์ชันเทมเพลต
ฟังก์ชันเทมเพลตแบบกำหนดเองนี้ใช้เทมเพลตอื่นตามค่าของระยะเวลา:
function customTemplate ( ) {
return this . duration . asSeconds ( ) >= 86400 ? "w [weeks], d [days]" : "hh:mm:ss" ;
}
moment . duration ( 65 , 'seconds' ) . format ( customTemplate , {
trim : false
} ) ;
// "00:01:05"
moment . duration ( 1347840 , 'seconds' ) . format ( customTemplate , {
trim : false
} ) ;
// "2 weeks, 2 days"
เพื่อให้มั่นใจว่าเอาต์พุตมีรูปแบบที่เป็นมิตรต่อผู้ใช้ อักขระเครื่องหมายวรรคตอนจะถูกตัดออกจากจุดเริ่มต้นและจุดสิ้นสุดของเอาต์พุตที่จัดรูปแบบแล้ว โดยเฉพาะช่วงนำหน้าและช่วงต่อ .
, จุลภาค ,
, ทวิภาค :
และช่องว่าง
อักขระจะถูกลบออก
precision
(ตัวเลข) กำหนดจำนวนเศษส่วนทศนิยมหรือเลขจำนวนเต็มเพื่อแสดงค่าสุดท้าย
ค่าความแม่นยำเริ่มต้นคือ 0
moment . duration ( 123 , "minutes" ) . format ( "h [hrs]" ) ;
// "2 hrs"
ความแม่นยำเชิงบวกจะกำหนดจำนวนเศษส่วนทศนิยมที่จะแสดง
moment . duration ( 123 , "minutes" ) . format ( "h [hrs]" , 2 ) ;
// "2.05 hrs"
ความแม่นยำเชิงลบกำหนดจำนวนหลักที่จะตัดทอนให้เป็นศูนย์
moment . duration ( 223 , "minutes" ) . format ( "m [min]" , - 2 ) ;
// "200 mins"
settings
เป็นออบเจ็กต์ที่สามารถแทนที่ตัวเลือกรูปแบบระยะเวลาช่วงเวลาเริ่มต้นใดๆ ได้
ทั้งอาร์กิวเมนต์ template
และอาร์กิวเมนต์ precision
อาจถูกระบุเป็นคุณสมบัติของอาร์กิวเมนต์ออบเจ็กต์ settings
เดียว หรืออาจส่งแยกกันพร้อมกับออบเจ็กต์การตั้งค่าเสริม
moment . duration ( 123 , "minutes" ) . format ( {
template : "h [hrs]" ,
precision : 2
} ) ;
// "2.05 hrs"
ลักษณะ trim
เริ่มต้นคือ "large"
โทเค็นที่มีขนาดมากที่สุดจะถูกตัดแต่งโดยอัตโนมัติเมื่อไม่มีค่า
moment . duration ( 123 , "minutes" ) . format ( "d[d] h:mm:ss" ) ;
// "2:03:00"
การตัดแต่งยังทำงานเมื่อสตริงรูปแบบถูกวางแนวโดยมีขนาดโทเค็นเพิ่มขึ้นจากซ้ายไปขวา
moment . duration ( 123 , "minutes" ) . format ( "s [seconds], m [minutes], h [hours], d [days]" ) ;
// "0 seconds, 3 minutes, 2 hours"
หากต้องการหยุดตัดแต่งทั้งหมด ให้ตั้งค่า { trim: false }
moment . duration ( 123 , "minutes" ) . format ( "d[d] h:mm:ss" , {
trim : false
} ) ;
// "0d 2:03:00"
เมื่อจัดรูปแบบหลายช่วงเวลาโดยใช้ moment.duration.format
การตัดสำหรับระยะเวลาทั้งหมดจะประสานกันบนการรวมกันของชุดระยะเวลา
moment . duration . format ( [
moment . duration ( 1 , "minute" ) ,
moment . duration ( 1 , "hour" ) ,
moment . duration ( 1 , "day" )
] , "y [years], w [weeks], d [days], h [hours], m [minutes]" ) ;
// [
// "0 days, 0 hours, 1 minute",
// "0 days, 1 hour, 0 minutes",
// "1 day, 0 hours, 0 minutes"
// ]
trim
อาจเป็นสตริง รายการสตริงแบบคั่น อาร์เรย์ของสตริง หรือบูลีน ค่าที่ยอมรับมีดังนี้:
"large"
ตัดโทเค็นค่าศูนย์ที่ใหญ่ที่สุดออกจนกว่าจะค้นหาโทเค็นที่มีค่า โทเค็นที่ระบุว่าเป็น stopTrim
หรือโทเค็นสุดท้ายของสตริงรูปแบบ นี่คือค่า trim
เริ่มต้น
moment . duration ( 123 , "minutes" ) . format ( "d[d] h:mm:ss" ) ;
// "2:03:00"
moment . duration ( 123 , "minutes" ) . format ( "d[d] h:mm:ss" , {
trim : "large"
} ) ;
// "2:03:00"
moment . duration ( 0 , "minutes" ) . format ( "d[d] h:mm:ss" , {
trim : "large"
} ) ;
// "0"
"small"
ตัดโทเค็นค่าศูนย์ที่มีขนาดน้อยที่สุดจนกว่าจะพบโทเค็นที่มีค่า โทเค็นที่ระบุว่าเป็น stopTrim
หรือโทเค็นสุดท้ายของสตริงรูปแบบ
moment . duration ( 123 , "minutes" ) . format ( "d[d] h:mm:ss" , {
trim : "small"
} ) ;
// "0d 2:03"
moment . duration ( 0 , "minutes" ) . format ( "d[d] h:mm:ss" , {
trim : "small"
} ) ;
// "0d"
"both"
ดำเนินการตัดแต่ง "large"
จากนั้นจึงตัดแต่ง "small"
moment . duration ( 123 , "minutes" ) . format ( "d[d] h[h] m[m] s[s]" , {
trim : "both"
} ) ;
// "2h 3m"
moment . duration ( 0 , "minutes" ) . format ( "d[d] h[h] m[m] s[s]" , {
trim : "both"
} ) ;
// "0s"
"mid"
ตัดโทเค็นค่าศูนย์ใดๆ ที่ไม่ใช่โทเค็นแรกหรือสุดท้าย มักจะใช้ร่วมกับ "large"
หรือ "both"
เช่น "large mid"
หรือ "both mid"
moment . duration ( 1441 , "minutes" ) . format ( "w[w] d[d] h[h] m[m] s[s]" , {
trim : "mid"
} ) ;
// "0w 1d 1m 0s"
moment . duration ( 1441 , "minutes" ) . format ( "w[w] d[d] h[h] m[m] s[s]" , {
trim : "large mid"
} ) ;
// "1d 1m 0s"
moment . duration ( 1441 , "minutes" ) . format ( "w[w] d[d] h[h] m[m] s[s]" , {
trim : "small mid"
} ) ;
// "0w 1d 1m"
moment . duration ( 1441 , "minutes" ) . format ( "w[w] d[d] h[h] m[m] s[s]" , {
trim : "both mid"
} ) ;
// "1d 1m"
moment . duration ( 0 , "minutes" ) . format ( "w[w] d[d] h[h] m[m] s[s]" , {
trim : "both mid"
} ) ;
// "0s"
"final"
ตัดโทเค็นสุดท้ายหากมีค่าเป็นศูนย์ ใช้ตัวเลือกนี้กับ "large"
หรือ "both"
เพื่อแสดงสตริงว่างเมื่อจัดรูปแบบระยะเวลาค่าเป็นศูนย์ เช่น "large final"
หรือ "both final"
moment . duration ( 0 , "minutes" ) . format ( "d[d] h:mm:ss" , {
trim : "large final"
} ) ;
// ""
moment . duration ( 0 , "minutes" ) . format ( "d[d] h:mm:ss" , {
trim : "small final"
} ) ;
// ""
moment . duration ( 0 , "minutes" ) . format ( "d[d] h[h] m[m] s[s]" , {
trim : "both final"
} ) ;
// ""
"all"
ตัดโทเค็นค่าศูนย์ทั้งหมด ย่อ "both mid final"
.
moment . duration ( 0 , "minutes" ) . format ( "d[d] h[h] m[m] s[s]" , {
trim : "all"
} ) ;
// ""
"left"
แผนที่เป็น "large"
เพื่อรองรับ API เวอร์ชัน 1 ของปลั๊กอินนี้
"right"
แผนที่เป็น "large"
เพื่อรองรับ API เวอร์ชัน 1 ของปลั๊กอินนี้
true
แผนที่เป็น "large"
null
แผนที่เป็น "large"
false
ปิดใช้งานการตัดแต่ง
ตั้งค่า largest
เป็นจำนวนเต็มบวกเพื่อส่งออกเฉพาะโทเค็นโมเมนต์ขนาดที่ใหญ่ที่สุด n
โดยเริ่มจากโทเค็นขนาดที่ใหญ่ที่สุดที่มีค่า
การใช้ตัวเลือก largest
จะ trim
เริ่มต้นเป็น "all"
moment . duration ( 7322 , "seconds" ) . format ( "d [days], h [hours], m [minutes], s [seconds]" , {
largest : 2
} ) ;
// "2 hours, 2 minutes"
moment . duration ( 1216800 , "seconds" ) . format ( "y [years], w [weeks], d [days], h [hours], m [minutes], s [seconds]" , {
largest : 3
} ) ;
// "2 weeks, 2 hours"
การตั้งค่า trim
เป็นค่าอื่น หรือใช้ stopTrim
สามารถเปลี่ยนโทเค็นเริ่มต้นและเอาต์พุตที่เหลือได้
moment . duration ( 1216800 , "seconds" ) . format ( "y [years], w [weeks], d [days], h [hours], m [minutes], s [seconds]" , {
largest : 3 ,
trim : "both"
} ) ;
// "2 weeks, 0 days, 2 hours"
moment . duration ( 1216800 , "seconds" ) . format ( "y [years], w [weeks], d [days], h [hours], m [minutes], s [seconds]" , {
largest : 3 ,
trim : "both" ,
stopTrim : "m"
} ) ;
// "2 weeks, 0 days, 2 hours"
moment . duration ( 1216800 , "seconds" ) . format ( "y [years], w [weeks], d [days], h [hours], m [minutes], s [seconds]" , {
largest : 4 ,
trim : false