dra*_*035 4 javascript time date momentjs luxon
我需要将后端获取的数据“17:00”转换为“5pm”。使用moment我只是这样做:
moment('17:00', ['HH']).format('h:mma')
Run Code Online (Sandbox Code Playgroud)
如何实现同样的事情Luxon?虽然moment允许直接格式化时间,但似乎Luxon的格式函数需要日期(我没有)。
有什么建议吗?
DateTime.fromISO('17:00').toLocaleString(DateTime.TIME_SIMPLE) // 5:00 PM
DateTime.fromISO('17:00').toFormat('h:mma') // 5:00PM
DateTime.fromISO('17:00').toFormat('h:mm a') // 5:00 PM
Run Code Online (Sandbox Code Playgroud)
尽管无法弄清楚如何使 meridiem 小写
https://github.com/moment/luxon/issues/224
编辑如果想要小写可以做这样的事情
const DateTime = luxon.DateTime;
const dt = DateTime.fromISO('17:00')
const meridiem = (dt.hour > 11) ? 'p' : 'a'
const final = `${dt.toFormat('h:mm')}${meridiem}m`
console.log(final)Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/2.3.1/luxon.min.js"></script>Run Code Online (Sandbox Code Playgroud)
正如Lukas H.在评论中提到的更新,更简单的方法是使用.toLowerCase()
const DateTime = luxon.DateTime;
const dt = DateTime.fromISO('17:00')
const final = dt.toFormat('h:mma').toLowerCase()
console.log(final)Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/2.3.1/luxon.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9349 次 |
| 最近记录: |