问题描述
import dayjs from "dayjs";
import customParseFormat from "dayjs/plugin/customParseFormat";
dayjs.extend(customParseFormat);
当执行类似"dayjs().format('18:00',"hh:mm A");"
之类的操作时,它不会转换为12小时计时。.返回18:00
如何使用dayjs转换输出,如:
08:00 -> 08:00 AM
18:00 -> 06:00 PM
解决方法
为此,您不能仅将“ 18:00”设置为日期。
var now = new dayjs().startOf('day')
var newDate = now.add('18','hour').add('10','minutes')
var newDatezerominutes = now.add('18','hour').add('00','minutes')
var formatted = dayjs(newDate).format('hh:mm a')
var formattedzero = dayjs(newDatezerominutes).format('hh:mm a')
console.log(`To see differences ${formatted}`)
console.log(`Your case ${formattedzero}`)
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.34/dayjs.min.js"></script>
,
我接受了已接受的答案,并针对我的用例对其进行了一些简化。这几乎是相同的用例。
如果日期无关紧要,而您只是想转换时间 - 那么这应该就是您所需要的。
const globalTime = "14:00";
const twelveHourTime = dayjs('1/1/1 ' + globalTime).format('hh:mm a')
// twelveHourTime = "02:00 pm"
由于dayjs 需要一个完整的日期来格式化它,但唯一的输出是时间,因此日期无关紧要,可以是任何内容。比如“1/1/1”