【问题标题】:javascript client date formatjavascript客户端日期格式
【发布时间】:2012-01-04 05:31:46
【问题描述】:

我在 extjs 日期上遇到了问题。似乎默认情况下它使用计算机日期来创建日期。 我不检查我的电脑并发布日期。然后我发现它是基于美国的

 M/d/yyyy.

在我将系统区域设置日期更改为 d-m-Y 之后。一切正常。 那么有人知道 extjs 如何获取客户端日期格式吗?

e.g 'YYYY-mm-dd' or 'M/d/yyyy' .

因为我需要将格式从 extjs 代码解析为 php 到 mysql 日期格式。 我试图找到 stackoverflow 和站点,但似乎没有找到,

【问题讨论】:

标签: javascript date extjs


【解决方案1】:

你可以在传输的时候把日期转成String,这样你就可以自己设置日期格式了。

【讨论】:

  • 有点棘手,因为您不知道使用 m-d-y 或 d-m-y 格式的日期。两者都是 2012 年 1 月 12 日或 2012 年 12 月 12 日的逻辑。除非创建一个类检查它是否是一个有效的日期..
  • 它是一个数据对象,不是字符串,所以你可以把它转换成你喜欢的格式字符串。
【解决方案2】:

其实使用的默认格式是'm/d/y',可以自行更改格式,我不认为ext可以获取客户端日期格式并一致更改格式。

【讨论】:

    【解决方案3】:

    不要介意您的区域设置

    你有两个选择 在您的服务器中转换为字符串并更改格式

    yourDate.ToString("MMM dd, yyyy")
    

    有关标准和自定义格式,请参阅 herehere

    或者在你使用的 extjs 代码中

    renderer: Ext.util.Format.dateRenderer('d-M-Y'),
    

    请参阅here 了解可用的格式字符串。

    【讨论】:

    • 我知道。但是如果一个人喜欢 d-m-y 格式和另一个人喜欢 d/M/Y 在计算机区域设置中设置.. 不过这是一个很大的问题。我敦促客户必须使用 d-m-Y。有时他们总是会出错,因为他们使用旧系统。
    • 我遇到了同样的问题,因为我们的客户使用 2012 年 12 月 31 日和使用 2012 年 12 月 31 日的客户......这就是为什么我在信中写下月份:2012 年 12 月 31 日,这是我目前找到的唯一解决方案。另一种选择是在 ap 中添加一个设置,供用户选择他喜欢的格式,将其保存在 var timesetting 中的某个位置并像这样调用它:Ext.util.Format.dateRenderer(时间设置),
    猜你喜欢
    • 1970-01-01
    • 2017-05-21
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多