以下都是我平时用的一些日期截取/转换方法,方法并不一定是最有效率的.全部均通过测试!
转载请注明来自[phpchina.com]
#title: 日期截取
/
转换
#auther: 小强(占卜师)
#date: 2007 - 12 - 19
#取得当前日期
set @dt = CURDATE();
select @dt ;
#取得当前时间包括日期部分
SET @dt = now();
select @dt ;
#截取日期部分
#方法1
select date( @dt );
#方法2
select left ( @dt , 10 );
#方法3
select cast ( @dt as char ( 10 ));
#将日期替换为短日期格式 如: 2007 - 5 - 6
SELECT REPLACE (date( @dt ), ' -0 ' , ' - ' );
#转换时间输出格式
SELECT DATE_FORMAT( @dt , ' %Y-%c-%d ' );
SELECT DATE_FORMAT( @dt ,GET_FORMAT(DATE, ' EUR ' ));
SELECT DATE_FORMAT( @dt ,GET_FORMAT(DATE, ' ISO ' ));
#将不规则的日期转换为mysql的标准日期
set @dt = ' 10.31.2003 ' ;
select STR_TO_DATE( @dt , ' %c.%d.%Y ' );
select STR_TO_DATE( @dt ,GET_FORMAT(DATE, ' USA ' ));
set @dt = ' 10/31/2003 ' ;
select STR_TO_DATE( @dt , ' %c/%d/%Y ' );
select STR_TO_DATE( REPLACE ( @dt , ' / ' , ' . ' ),GET_FORMAT(DATE, ' USA ' ));
#auther: 小强(占卜师)
#date: 2007 - 12 - 19
#取得当前日期
set @dt = CURDATE();
select @dt ;
#取得当前时间包括日期部分
SET @dt = now();
select @dt ;
#截取日期部分
#方法1
select date( @dt );
#方法2
select left ( @dt , 10 );
#方法3
select cast ( @dt as char ( 10 ));
#将日期替换为短日期格式 如: 2007 - 5 - 6
SELECT REPLACE (date( @dt ), ' -0 ' , ' - ' );
#转换时间输出格式
SELECT DATE_FORMAT( @dt , ' %Y-%c-%d ' );
SELECT DATE_FORMAT( @dt ,GET_FORMAT(DATE, ' EUR ' ));
SELECT DATE_FORMAT( @dt ,GET_FORMAT(DATE, ' ISO ' ));
#将不规则的日期转换为mysql的标准日期
set @dt = ' 10.31.2003 ' ;
select STR_TO_DATE( @dt , ' %c.%d.%Y ' );
select STR_TO_DATE( @dt ,GET_FORMAT(DATE, ' USA ' ));
set @dt = ' 10/31/2003 ' ;
select STR_TO_DATE( @dt , ' %c/%d/%Y ' );
select STR_TO_DATE( REPLACE ( @dt , ' / ' , ' . ' ),GET_FORMAT(DATE, ' USA ' ));