【发布时间】:2015-07-13 01:45:11
【问题描述】:
给定一个文本字段,我想要一个合适的占位符。典型的占位符类似于:“mm/dd/yyyy”。
但是,我想使用moment.js 来使用支持区域设置的日期。
这意味着我将指定“l”作为 moment.js 日期格式,我如何确定在这种情况下 moment.js 将使用的日期格式?
用户不会理解“l”是什么意思,所以在占位符文本中使用这个值没有什么意义。
具体来说,我希望能够访问诸如时刻内部“defaultLongDateFormat”之类的东西。 (虽然这只是一个默认值——moment.js 可能会更新它或在运行时为支持区域设置的日期格式提供一些其他映射——我想访问该映射。)
编辑:
有多个反对票(他们没有解释他们反对票的原因)。
我认为这是因为他们不理解这个问题,所以这里有一些例子:
我想要一个这样的函数: getFormat("l") -> "mm/dd/yyyy",或美国语言环境的等效项。 getFormat("l") -> "dd/mm/yyyy",或等效的,用于 AU 语言环境。
我确实不想要格式化给定的日期,或者解析给定的日期 - 我只想确定它是给定任意 moment.js 格式的用户友好格式,特别是对于 'l '。
【问题讨论】:
-
致反对者:你为什么反对这个?这是一个相关的问题。
-
您的问题令人困惑。您是要求以某种格式显示当前日期的格式还是日期本身?
-
@RobG:我被引导相信 moment.js 定义了这些?即我指定locale(如'en')和格式字符串(如'L'),然后moment.js格式化?
-
@PrestonVanLoon:两者都不是。我想要格式字符串本身。即,如果 moment("1234-12-12", "l") 会导致 "12-12-1234",我希望得到结果字符串 "mm-dd-yyyy"。
-
好的,我想我现在明白你的问题了。您想根据当时用来解释字符串的“语言环境”打印要使用的格式的提示。也许您应该只使用一个明确的日期,例如 23/01/2015,以便用户遵循该格式。而且我认为不应该为此使用占位符,因为一旦用户输入某些内容,它们就会消失,因此如果他们更改值,他们就不会得到提示。
标签: javascript momentjs