有没有办法使用date-fns库格式化/输出指定时区的日期?我可以很容易地格式化日期:
format(
new Date(),
'MM/DD/YYYY'
)
我可以指定一个区域设置(来自他们的文档):
var eoLocale = require('date-fns/locale/eo')
var result = format(
new Date(2014, 6, 2),
'Do [de] MMMM YYYY',
{locale: eoLocale}
)
如何指定时区?
答案 0 :(得分:1)
恐怕您将不得不等time zone support in date-fns
直到发布2.0版。时区支持has not been finished,并且它可能仅会添加到新版本中,因为新版本预计会改善解析和格式设置。
同时,您必须访问其他库,这些库允许在任意时区进行格式化。例如,Moment.js或Day.js:
// Print "06/01/2014 6:00:00 PM GMT-0600 (EDT)"
moment('2014-06-02T00:00:00.000Z')
.tz('America/New_York')
.format('MM/DD/YYYY h:mm:ss A [GMT]ZZ (z)')
dayjs('2014-06-02T00:00:00.000Z')
.format('MM/DD/YYYY h:mm:ss A [GMT]ZZ (z)',
{ timeZone: 'America/New_York' })
答案 1 :(得分:0)
版本 2 节省了时间!
const { startOfDay, endOfDay, format } = require('date-fns') // or use imports
const { enGb } = require('date-fns/locale/en-GB') // or use imports
const fromDate = startOfDay(new Date('02-Aug-2001'))
const toDate = endOfDay(new Date('02-Aug-2001'))
const from = format(fromDate, 'dd-MMM-yyyy HH:mm:ss', { locale: enGb })
const to = format(toDate, 'dd-MMM-yyyy HH:mm:ss', { locale: enGb })
console.log(from) // 02-Aug-2001 00:00:00
console.log(to) // 02-Aug-2001 23:59:59
https://date-fns.org/v2.21.1/docs/format // 官方文档
https://www.npmjs.com/package/date-fns-tz#user-content-format // 更具人类可读性的文档(注意不需要安装 date-fns-tz)