这可能是一个简单的问题。
有什么方法可以在我的项目中设置一个日期格式,并且在任何地方都有这种日期格式。到处都是指视图,编辑,索引操作。我需要的格式是Y-m-d H:i:s
,它与我的语言环境日期格式无关。
我尝试在bootstrap文件中使用以下代码,但它没有工作
Type::build('date')->useLocaleParser()->setLocaleFormat('Y-m-d');
Type::build('datetime')->useLocaleParser()->setLocaleFormat('Y-m-d H:i');
在索引中,它会将日期显示为10/10/15, 8:20 PM
。
另外,对于编辑日期,我使用文本输入,因此我需要它们到文本框以将日期显示为2015/10/10 20:20
。
答案 0 :(得分:2)
答案 1 :(得分:0)
我建议您创建一个文件/类,用于存放应用程序CONST值,然后在应用程序引导程序文件中要求该文件/自动加载该类。
define("MYSQL_DATETIME_FORMAT", "Y-m-d H:i:s");
然后,在ApplicationController中定义一个属性,例如$mysql_datetime = MYSQL_DATETIME_FORMAT;
,并将此值传递给视图,视图助手或装饰器类。
您还可以创建一个用户定义或类定义的回调(即帮助者),它使用此值并为您执行转换(例如function to_mysql_datetime($timeval){...}
。然后在您的视图中,您可以调用:
$formatted_datetime = DateFormatHelper::to_mysql_datetime($other_datetime_value);
这是关于此问题的CakePHP文档:
如果您有任何其他配置需求,则应将其添加到 你的应用程序的config / bootstrap.php文件。包含此文件 在每个请求和CLI命令之前。
此文件适用于许多常见的自举任务:
定义便利功能。 声明常量。 创建缓存配置。 配置变形。 加载配置文件。
添加时,请小心维护MVC软件设计模式 引导程序文件的内容:放置格式可能很诱人 在那里运行,以便在您的控制器中使用它们。就像你一样 在控制器和视图部分中看到有更好的方法 将自定义逻辑添加到您的应用程序中。