【问题标题】:Convert dateformat or obtain dateformat from date转换 dateformat 或从 date 获取 dateformat
【发布时间】:2014-01-15 15:18:16
【问题描述】:

我有一个类似“%d-%m-%Y”的日期格式,我需要将此格式传递给 Datepicker,但据我所知,Datepicker 不允许这种格式。由于这种格式是用户引入的,我无法预测会引入哪种格式。

我只有 momentjs、jquery、underscore 和 datepicker 来处理这个问题,因为我正在使用的系统非常严格(它们不允许我安装新插件)

MomentJS 返回一个 Date 对象,它不会转换其中的格式字符串,所以我无法检索它或提取它以在 datepicker 日期格式中使用它。

有没有办法将此 unix 格式传递给 datepicker,或者将类似的字符串(如“%d-%m-%Y”转换为“dd-mm-YY”)

订单可以是“%Y-%m-%d”中的任何内容,也可以是“%Y”的一部分

编辑 1:

为了更好地说明这一点,我需要将这个字符串“%d-%m-%Y”转换为这个“DD-MM-YYYY”,但符号可以是任何顺序,还有其他符号:

%a %A %b %B %c %d %H %I %j %m %M %p %S %U %W %w %x %X %y %Y %Z %%

【问题讨论】:

  • 我有点迷路了。你说你有这种格式%d-%m-%Y 但是你又说你无法预测用户引入的格式?只是告诉他们把那个。您可以随时使用altFormat: 'dd-mm-yyyy'轻松更改datepicker格式
  • @spokey 我在应用程序的其他位置提供了 %d-%m-%Y 作为用户输入的示例,正​​如我在最后一行中所说的那样 顺序可以是这个 "%Y-%m-%d" 或者只是它的一部分 "%Y"
  • 我们在谈论哪个日期选择器?

标签: javascript jquery datepicker underscore.js momentjs


【解决方案1】:

您可以使用moment-strftime plugin,它可以理解该格式的令牌。

【讨论】:

    【解决方案2】:

    您可以在 MomentJS 中使用 .format() 来取回您的字符串。

    // will return a string
    moment().format('DD-MM-YY');
    

    【讨论】:

    • 不可能,你介绍的格式是常量;我收到类似于“%d-%m-%Y”的格式
    • 那么您是否需要一种方法将日期格式从您收到的内容映射到 MomentJS 格式?如果没有,由于您没有发布任何代码,最好使用JSFiddle 更新您的问题。
    猜你喜欢
    • 1970-01-01
    • 2016-09-21
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2019-05-18
    相关资源
    最近更新 更多