没有不值得去解决的问题,也没有不值得去学习的技术!

在 yii 的CJuiDatePicker中添加时分秒的具体实现!

添加了时分秒之间的实现效果!
最为初始的实现效果!
最为初始的实现效果!

最为初始的代码:

$this->widget(‘zii.widgets.jui.CJuiDatePicker’, array(
‘name’=>’mendtime’,
‘value’=>date(‘Y-m-d’, time()),
‘language’=>Yii::app()->getLanguage(),
‘options’=>array(
‘showAnim’=>’slideDown’,
‘changeYear’=>true,
‘changeMonth’=>true,
‘showWeek’=>true,
‘autoSize’=>true,
‘dateFormat’=>’yy-mm-dd’,
‘maxDate’=>’0’,
‘minDate’=>’-10d’,
),
‘htmlOptions’=>array(
‘readonly’=>’readonly’,
‘class’=>’txt’,
‘style’=>’width:200px’
)
));

后期的实现效果:

添加了时分秒之间的实现效果!
添加了时分秒之间的实现效果!

实现流程:

1、yii 官方网站上的扩展下载:http://www.yiiframework.com/extension/datetimepicker/

2、复制CJuiDateTimePicker文件夹到protected\extensions目录下;

3、到https://github.com/trentrichardson/jQuery-Timepicker-Addon下载语言包,因为yii扩展中没有语言包;

4、在文件CJuiDateTimePicker.php中查找:$cs->registerScriptFile($assets.self::ASSETS_NAME.’.js’,CClientScript::POS_END);在其下添加一行:

$cs->registerScriptFile($assets.’/i18n/jquery-ui-timepicker-‘ . $this->language . ‘.js’,CClientScript::POS_END);,以加载语言包;

5、视图中的代码:

<?php
Yii::import(‘application.extensions.CJuiDateTimePicker.CJuiDateTimePicker’);
$this->widget(‘CJuiDateTimePicker’, array(
‘name’=>’mendtime’,
‘value’=>date(‘Y-m-d H:m:s’, time()),
‘language’=>Yii::app()->getLanguage(),
‘options’=>array(
‘showAnim’=>’slideDown’,
‘changeYear’=>true,
‘changeMonth’=>true,
‘showWeek’=>true,
‘autoSize’=>true,
‘dateFormat’=>’yy-mm-dd’,
‘timeFormat’=>’hh:mm:ss’,
‘maxDate’=>’0’,
‘minDate’=>’-10d’,
),
‘htmlOptions’=>array(
‘readonly’=>’readonly’,
‘class’=>’txt’,
‘style’=>’width:200px’
)
));
?>

注:

1、$this->language必须与js文件中的一致,其默认为zh-CN,而假设$this->language为zh_cn,则需要全部修改为与$this->language相一致,不然运行不正常;

2、日期、时间格式设置与php中date是不一致的,而是

‘dateFormat’=>’yy-mm-dd’,
‘timeFormat’=>’hh:mm:ss’,

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系