【发布时间】:2011-02-07 11:02:11
【问题描述】:
在添加新文章时,Joomla 中总是存在一个奇怪的错误,该文章的后端显示为英语以外的语言(对我来说是俄语)。 “完成出版”字段开始是当前日期,而不是俄语中的“从不”。
对于php4中的一个站点最后发现strtotime函数对任意词返回不同的结果。对于“从不”,它始终为 -1,joomla 在 JDate 实现中依赖于这个结果。但在其他情况下,它有时会返回有效日期。对于 Never (Никогда) 的俄语翻译是这样,但对于单个“N”也是这样,所以如果一个人决定将字符串更改为其他字符串,他或她将面临同样的问题。
所以下面的代码
<?php
echo "Res:".strtotime("N")."<br>";
echo "Res:".strtotime("Nev")."<br>";
echo "Res:".strtotime("Neve")."<br>";
echo "Res:".strtotime("Never")."<br>";
?>
输出:
Res:1271120400
Res:-1
Res:-1
Res:-1
那么在这种情况下,解决方案是什么?我不想编写特定于语言的 date.php 处理程序,而是修改 JDate 类的 date 方法,但是为了检测无效字符串,语言中立的更改是什么。
谢谢
【问题讨论】:
-
简而言之是什么问题?你想得到什么结果? “从不”这个词似乎不是任何合理的日期时间值。
-
好的,我想知道为什么其他不合理的值(如俄语中的 Never)被翻译为合理的日期,不仅是俄语,单“N”也是如此。我想是由于出现了一些默认转换