如何在 javascript 中显示日期的序号
How to display ordinal number for date in javascript
我目前正在为我网站上的弹出式日历实施 flatpickr,我的客户要求显示一种特定格式供他们自己使用,其中包括星期几和带序号后缀的日期。据我了解,我可以使用名为 altInput
的配置设置来实现这一点,并使用 altFormat
来指定如何显示它。
基于此,这是我的配置和实例化:
var config = {
enableTime : false,
dateFormat: 'Y-m-d',
altInput: true,
altFormat: 'l, jS F Y'
};
$(".pickr").flatpickr(config);
据我所知,显示的日期应该是这样的(以今天为选择日期):
Tuesday, 10th October 2017
然而,我实际上得到:
Tueaday 1000 October 2017
所以序数后缀选项(根据 PHP.net 是大写 S)似乎只显示两个零。就好像是把大写的S当成了小写的s一样,就是秒。
我是不是漏掉了什么?在 javascript 中是否有另一种显示序数后缀的方法?
即S
代表"Seconds, 2 digits"
而不是 jS
,您需要 J
:
"Day of the month without leading zeros and ordinal suffix"
看看 flatpickr 的 formatting documentation.
根据 Formatting Tokens 你应该在 altFormat 配置中使用参数 J
而不是 jS
:
var config = {
enableTime : false,
dateFormat: 'Y-m-d',
altInput: true,
altFormat: 'l, J F Y'
};
我已经穿上 Fiddle 进行更多测试:https://jsfiddle.net/kxssqzu2/14/
我目前正在为我网站上的弹出式日历实施 flatpickr,我的客户要求显示一种特定格式供他们自己使用,其中包括星期几和带序号后缀的日期。据我了解,我可以使用名为 altInput
的配置设置来实现这一点,并使用 altFormat
来指定如何显示它。
基于此,这是我的配置和实例化:
var config = {
enableTime : false,
dateFormat: 'Y-m-d',
altInput: true,
altFormat: 'l, jS F Y'
};
$(".pickr").flatpickr(config);
据我所知,显示的日期应该是这样的(以今天为选择日期):
Tuesday, 10th October 2017
然而,我实际上得到:
Tueaday 1000 October 2017
所以序数后缀选项(根据 PHP.net 是大写 S)似乎只显示两个零。就好像是把大写的S当成了小写的s一样,就是秒。
我是不是漏掉了什么?在 javascript 中是否有另一种显示序数后缀的方法?
即S
代表"Seconds, 2 digits"
而不是 jS
,您需要 J
:
"Day of the month without leading zeros and ordinal suffix"
看看 flatpickr 的 formatting documentation.
根据 Formatting Tokens 你应该在 altFormat 配置中使用参数 J
而不是 jS
:
var config = {
enableTime : false,
dateFormat: 'Y-m-d',
altInput: true,
altFormat: 'l, J F Y'
};
我已经穿上 Fiddle 进行更多测试:https://jsfiddle.net/kxssqzu2/14/