rt
首选、mysql、php高手有兴趣的话
java
js
sqlserver 2000、2005
Oracle
不妨展现下您的才华。

解决方案 »

  1.   

    月初:都是1日
    月末:当月1日-1即可 
    MYSQL
    select date(concat(year(curdate()),'-',month(curdate()),'-01')),
    dATE_ADD(date(concat(year(curdate()),'-',month(curdate())+1,'-01')),
    INTERVAL -1 DAY)
      

  2.   

    ps:GMT时间格式!!!
      

  3.   

    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();
    }
      

  4.   

    --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')
      

  5.   

    MSSQL 2005
    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)))
      

  6.   


    sqlserver 2000、2005  也能拿到UNIX的时间?
      

  7.   

    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>
      

  8.   

    HP-UNIX + OracleSQL> select * from V$VERSION ;BANNER
    ----------------------------------------------------------------
    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