将日期转换为不同的格式

时间:2012-10-04 12:41:02

标签: php mysql

  

可能重复:
  MySQL date format

我有这个日期,我需要进行比较,但自查询以来我需要这样做!

现在我有了这个问题:

Select date WHERE date="$today"

$today采用以下格式:dmY 我怎么能直接把它变成dmY呢?日期字段? 类似的东西:

Select date("dmY",date) WHERE date="$today"

我不知道这是否有可能做到,但我想它可能是,所以我会感激一点帮助,即使它只是,是的,它是可行的,不,它不是!

4 个答案:

答案 0 :(得分:1)

Select date_format(date, '%d%m%Y') 
from your_table 
WHERE date="$today"

请参阅MySQL DATE_FORMAT

答案 1 :(得分:1)

您需要使用date_format

Select date_format(date, '%d%m%Y) from table_name where date = "$today"

答案 2 :(得分:1)

我认为你遇到问题的地方是编写php日期以适应你的mysql_query格式化

这就是我想出来的。

我已经创建了一个简单的代码来处理这个问题。

程序是我使用mysql的CURDATE()函数从mysql获取今天的日期,然后格式化它并匹配表中的exisiting列

MYSQL数据库

    -- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Oct 04, 2012 at 01:44 PM
-- Server version: 5.5.16
-- PHP Version: 5.3.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Database: `my_db`
--

-- --------------------------------------------------------

--
-- Table structure for table `datetable`
--

CREATE TABLE IF NOT EXISTS `datetable` (
  `dateid` int(2) NOT NULL AUTO_INCREMENT,
  `datestuff` date NOT NULL,
  PRIMARY KEY (`dateid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `datetable`
--

INSERT INTO `datetable` (`dateid`, `datestuff`) VALUES
(1, '2012-10-02'),
(2, '2012-10-04');

PHP代码(文件)

   <?php
//Connect to your host
$con = mysql_connect("localhost","admin","admin");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
//select your database
mysql_select_db("my_db", $con);

//getting today's date and formating it, output is like this (4-10-2012)
$today = date('j-m-Y');

//query your table, also date has been formated like this (4-10-2012)
$result = mysql_query("SELECT DATE_FORMAT( CURDATE( ) ,  '%e-%m-%Y' ) AS today, DATE_FORMAT( datestuff,  '%e-%m-%Y' ) AS datestuff FROM datetable WHERE CURDATE( ) = datestuff");

//get the resultset
while($row = mysql_fetch_array($result))
  {
  echo "date in table: ".$row['datestuff']. "---- today's date: ". $row['datestuff'];
  echo "<br />";
  }
?>

尝试一下让我知道它是否适合你......

答案 3 :(得分:0)

Select date_format("2012-06-01",'%d-%m-%Y') WHERE date="$today"

注意*:您可以在“%d /%m /%Y

中使用日期分隔符” - “或”/“

比较日期示例:

Select * From temp where mydate > '2009-06-29 16:00:44';