2012-01-04 110 views
1

我在extjs日期有问题。默认情况下它使用计算机日期来创建日期。 我不检查我的电脑,并发布date.Then我发现它基于美国javascript客户端日期格式

M/d/yyyy. 

后,我更改系统区域设置日期d-M-Y.Everthing做工精细。 因此,任何人都知道extjs如何获取客户端日期格式?

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

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

+1

可能的重复http://stackoverflow.com/questions/85116/how-do-i-display-a-date-time-in-the-users-locale-format-and-time-offset – 2012-01-04 05:36:24

+0

你是否使用内置于extjs中的格式化函数? http://senchafiddle.com/#aKkbK http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Date – sissonb 2012-01-04 05:44:57

+0

ya suppose sissonb。因为它是一个日期字段。 – 2012-01-04 06:15:19

回答

1

您可以将日期转换为字符串时转移它,以便您可以自己设置日期格式。

+0

有点棘手,因为你无法知道使用m-d-y或d-m-y格式的日期。两者都是2012年1月12日或2012年12月1日的逻辑。除非创建一个类来检查它是否是有效的日期.. – 2012-01-04 06:19:36

+0

它是一个数据对象,而不是一个字符串,所以你可以将它转换为任何你喜欢的格式字符串。 – ijse 2012-01-05 03:12:14

1

其实默认的格式是'm/d/y',你可以改变格式self,我不这么认为ext可以得到客户日期格式并且一致地改变格式。

1

不介意你的区域设置

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

yourDate.ToString("MMM dd, yyyy") 

看到herehere标准和自定义格式

或您使用的extjs代码

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

有关可用格式字符串,请参阅here

+0

我知道。但如果A人喜欢d-m-y格式和另一个人如d/M/Y在计算机区域设置中设置的话,那该怎么办......尽管如此,问题仍然存在。我推动客户必须使用d-m-Y。有时他们总是犯错误,因为他们使用旧系统。 – 2012-01-07 06:29:27

+0

我有同样的问题,因为我们有客户谁使用31/12/2012和那些谁使用12/31/2012 ..这就是为什么我写的信中将是:2012年12月31日,这是唯一的解决方案我现在已经找到了。另一种选择是在ap中添加一个设置,以供用户选择他的首选格式,并保存在var timeset中的某个地方,然后像这样调用它:Ext.util.Format.dateRenderer(timesetting), – Armance 2012-01-09 09:47:04