PHP函数
给你一个详细的//格式化时间,将时间戳改为时间字符串
function formattime($style,$timesec)
{
// 0  无
// 1  XX:XX
// 2  XX月XX日
// 3  XXXX年XX月XX日
// 4  XXXX-XX-XX
// 5  XXXX-XX-XX XX:XX
// 6  XXXX-XX-XX XX:XX:XX
 //   $timetxt=date("Y")."年".date("n")."月".date("j")."日".date("G")."时".date("i")."分".date("s")."秒";
switch ($style){
  case "0":
    $timetxt="";
    break;
  case "1":
    $timetxt=date("G:i",$timesec);
    break;
  case "2":
    $timetxt=date("n月j日",$timesec);
    break;
  case "3":
    $timetxt=date("Y年n月j日",$timesec);
    break;
  case "4":
    $timetxt=date("Y-n-j",$timesec);
    break;
  case "5":
    $timetxt=date("Y-n-j G:i",$timesec);
    break;
  case "6":
    $timetxt=date("Y-n-j G:i:s",$timesec);
    break;
  default:
    $timetxt="";
  }
  return $timetxt;
}
主要是用DATE函数格式化

解决方案 »

  1.   

    这里DATE函数的格式表,,你想格式化成什么时间可以参考一下:a - "am" 或是 "pm" 
    A - "AM" 或是 "PM" 
    d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" 
    D - 星期几,三个英文字母; 如: "Fri" 
    F - 月份,英文全名; 如: "January" 
    h - 12 小时制的小时; 如: "01" 至 "12" 
    H - 24 小时制的小时; 如: "00" 至 "23" 
    g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12" 
    G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23" 
    i - 分钟; 如: "00" 至 "59" 
    j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31" 
    l - 星期几,英文全名; 如: "Friday" 
    m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12" 
    n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12" 
    M - 月份,三个英文字母; 如: "Jan" 
    s - 秒; 如: "00" 至 "59" 
    S - 字尾加英文序数,二个英文字母; 如: "th","nd" 
    t - 指定月份的天数; 如: "28" 至 "31" 
    U - 总秒数 
    w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六) 
    Y - 年,四位数字; 如: "1999" 
    y - 年,二位数字; 如: "99" 
    z - 一年中的第几天; 如: "0" 至 "365" 
      

  2.   

    2004年10月04号 8:54pm 星期一
    对应的格式字符串是
    date("Y年n月j号 H:ia 星期w ",$timesec)
    呵,不过显示出来的星期是123。。不是一二三,,如果想要可以这样处理
    $strdate=date("Y年n月j号 H:ia",$timesec);
    switch ($date("w",$timesec))
    {
      case 0:
        $strdate.=" 星期日";
        break;
      case 0:
        $strdate.=" 星期一";
        break;
      case 0:
        $strdate.=" 星期二";
        break;
      case 0:
        $strdate.=" 星期三";
        break;
      case 0:
        $strdate.=" 星期四";
        break;
      case 0:
        $strdate.=" 星期五";
        break;
      case 0:
        $strdate.=" 星期六";
        break;
    }
      

  3.   

    多谢楼上热心的网友,
    现在我要做的是将一个时间如“2001/07/23 [17:28]”,不使用data()函数转化成int(11)类型的数据存储到数据库里,而你们上面的解答是关于如何将数据库里的数据读出以某种格式显示出来的代码。
    因为很及,拜托各位鼎力相助,我当感激不尽!
      

  4.   

    //将时间字符串分解成年y月m日d时h分mm秒s 或 转换成时间戳 参数exp和int区分
    //支持格式yyyy-mm-dd hh:mm:ss
    function twt_timetointorcut($datetime,$flag="exp")
    {
      $tmpexp=explode(" ",$datetime);
      $d=explode("-",$tmpexp[0]);
      $t=explode(":",$tmpexp[1]);
      if ($flag=="exp")
      {
        $ret[y]=$d[0];
        $ret[m]=$d[1];
        $ret[d]=$d[2];
        $ret[h]=$t[0];
        $ret[mm]=$t[1];
        $ret[s]=$t[2];
    return $ret;
      }
      else
       {
       $intime=@mktime($t[0],$t[1],$t[2],$d[1],$d[2],$d[0]);
       return $intime;
       }
    }这是一个时间拆分或转化为INT的函数,,只有简单的功能,你可以仿照这个写,主要使用EXPLODE函数按照要求划分出各个原素,再使用MKTIME函数变成INT型 的MKTIME函数的用法:
    mktime
    取得 UNIX 时间戳记。语法: int mktime(int hour, int minute, int second, int month, int day, int year);传回值: 整数函式种类: 时间日期
      

  5.   

    “2001/07/23 [17:28]”,
    这样的可以这样:$sstr="2001/07/23 [17:28]";
    $tmp=explode(" ",$sstr);
    $sdate=explode("/",$tmp[0]);
    $stime=explode(":",$tmp[1]);
    $intime=mktime($stime[0],$stime[1],0,$sdate[1],$sdate[2],$sdate[0]);
      

  6.   

    1、任何符合标准的日期字符串均可用strtotime函数转化成unix时间戳
    2、按你的用途,并不需要转化日期格式。只需在插入或修改数据时取time函数的结果就行了
    $sqlstr = "insert into tbl_name (id) values (".time().")";
    也可以直接使用mysql的函数
    insert into tbl_name (id) values (UNIX_TIMESTAMP())
      

  7.   

    也就是说,mktime 就是返回那个长整型数据啦?