如何得到当前月份的第一天和最后一天的unix时间。 rt首选、mysql、php高手有兴趣的话javajssqlserver 2000、2005Oracle不妨展现下您的才华。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 月初:都是1日月末:当月1日-1即可 MYSQLselect date(concat(year(curdate()),'-',month(curdate()),'-01')),dATE_ADD(date(concat(year(curdate()),'-',month(curdate())+1,'-01')),INTERVAL -1 DAY) ps:GMT时间格式!!! java /*** 获得本月的第一天* * @param formater*/public static long getFirstDayOfMonth(String formater) { Calendar ca = Calendar.getInstance(); ca.setTime(getCursorDate()); ca.set(Calendar.DATE, 1); return ca.getTimeInMillis();}本月最后一天public static long getLastDayOfMonth() { Calendar ca = Calendar.getInstance(); ca.setTime(getCursorDate()); ca.add(Calendar.MONTH, 1); ca.set(Calendar.DATE, 1); ca.add(Calendar.DATE, -1); return ca.getTimeInMillis();} --SQL Server--A. 月的第一天SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')--B. 月的最后一天SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1') MSSQL 2005unix时间戳本月第一天select datediff(Ss,CONVERT(datetime,'1970-01-01',20),DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))本月左后一天select datediff(Ss,CONVERT(datetime,'1970-01-01',20), dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))) sqlserver 2000、2005 也能拿到UNIX的时间? LIUNX + mySQLselect CURDATE(),CURDATE()-DAYOFMONTH(CURDATE())+1,DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH),UNIX_TIMESTAMP(CURDATE()-DAYOFMONTH(CURDATE())+1),UNIX_TIMESTAMP(DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH));mysql> select CURDATE(), -> CURDATE()-DAYOFMONTH(CURDATE())+1, -> DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH), -> UNIX_TIMESTAMP(CURDATE()-DAYOFMONTH(CURDATE())+1), -> UNIX_TIMESTAMP(DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH));+------------+-----------------------------------+---------------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+| CURDATE() | CURDATE()-DAYOFMONTH(CURDATE())+1 | DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH) | UNIX_TIMESTAMP(CURDATE()-DAYOFMONTH(CURDATE())+1) | UNIX_TIMESTAMP(DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH)) |+------------+-----------------------------------+---------------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+| 2009-02-27 | 20090201 | 2009-03-01 | 1233417600 | 1235836800 |+------------+-----------------------------------+---------------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+1 row in set (0.00 sec)mysql> HP-UNIX + OracleSQL> select * from V$VERSION ;BANNER----------------------------------------------------------------Oracle9i Enterprise Edition Release 9.2.0.6.0 - ProductionPL/SQL Release 9.2.0.6.0 - ProductionCORE 9.2.0.6.0 ProductionTNS for 32-bit Windows: Version 9.2.0.6.0 - ProductionNLSRTL Version 9.2.0.6.0 - ProductionSQL> select sysdate, 2 TRUNC (sysdate,'MONTH'), 3 ADD_MONTHS(TRUNC (sysdate,'MONTH'),1) 4 from dual;SYSDATE TRUNC(SYS ADD_MONTH--------- --------- ---------27-FEB-09 01-FEB-09 01-MAR-09 遇到一个难题求助! 如何同时插入常量和另一个表的内容 mysql 如何合并列值 铁路查询的数据库该怎么建设呢? 求一个sql语句的高效写法,谢谢 请教一个SQL语句问题 解决mysql4.0.17导出乱码问题 mysql的配置问题,请高手指正 请问DISTINCT 相关用法 mysqld.sock找不到,数据库启动失败 mysql_fetch_array 我的一个MySql数据库,每天数据库日志文件太大了,17G,能不能设置为不记录日志文件
月末:当月1日-1即可
MYSQL
select date(concat(year(curdate()),'-',month(curdate()),'-01')),
dATE_ADD(date(concat(year(curdate()),'-',month(curdate())+1,'-01')),
INTERVAL -1 DAY)
/**
* 获得本月的第一天
*
* @param formater
*/
public static long getFirstDayOfMonth(String formater) {
Calendar ca = Calendar.getInstance(); ca.setTime(getCursorDate());
ca.set(Calendar.DATE, 1); return ca.getTimeInMillis();
}本月最后一天public static long getLastDayOfMonth() {
Calendar ca = Calendar.getInstance();
ca.setTime(getCursorDate());
ca.add(Calendar.MONTH, 1);
ca.set(Calendar.DATE, 1);
ca.add(Calendar.DATE, -1);
return ca.getTimeInMillis();
}
SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')--B. 月的最后一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')
unix时间戳本月第一天
select datediff(Ss,CONVERT(datetime,'1970-01-01',20),DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))本月左后一天
select datediff(Ss,CONVERT(datetime,'1970-01-01',20), dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)))
sqlserver 2000、2005 也能拿到UNIX的时间?
CURDATE()-DAYOFMONTH(CURDATE())+1,
DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH),
UNIX_TIMESTAMP(CURDATE()-DAYOFMONTH(CURDATE())+1),
UNIX_TIMESTAMP(DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH));
mysql> select CURDATE(),
-> CURDATE()-DAYOFMONTH(CURDATE())+1,
-> DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH),
-> UNIX_TIMESTAMP(CURDATE()-DAYOFMONTH(CURDATE())+1),
-> UNIX_TIMESTAMP(DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH));
+------------+-----------------------------------+---------------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+
| CURDATE() | CURDATE()-DAYOFMONTH(CURDATE())+1 | DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH) | UNIX_TIMESTAMP(CURDATE()-DAYOFMONTH(CURDATE())+1) | UNIX_TIMESTAMP(DATE_ADD(CURDATE()-DAYOFMONTH(CURDATE())+1, INTERVAL 1 MONTH)) |
+------------+-----------------------------------+---------------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+
| 2009-02-27 | 20090201 | 2009-03-01 | 1233417600 | 1235836800 |
+------------+-----------------------------------+---------------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------+
1 row in set (0.00 sec)mysql>
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
PL/SQL Release 9.2.0.6.0 - Production
CORE 9.2.0.6.0 Production
TNS for 32-bit Windows: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production
SQL> select sysdate,
2 TRUNC (sysdate,'MONTH'),
3 ADD_MONTHS(TRUNC (sysdate,'MONTH'),1)
4 from dual;SYSDATE TRUNC(SYS ADD_MONTH
--------- --------- ---------
27-FEB-09 01-FEB-09 01-MAR-09