可能重复:
MySQL 日期格式
我有这个日期,我需要进行比较,但自从查询以来我就需要这样做!
现在我有这个查询:
Select date WHERE date="$today"
$today
这种格式在哪里:dmY
我怎样才能直接将它转换成 dmY 呢?日期字段?就像是:
Select date("dmY",date) WHERE date="$today"
我不知道这是否可行,但我想它可能是,所以我会很感激一点帮助,即使它很简单,是的,它是可行的,不,它不是!
可能重复:
MySQL 日期格式
我有这个日期,我需要进行比较,但自从查询以来我就需要这样做!
现在我有这个查询:
Select date WHERE date="$today"
$today
这种格式在哪里:dmY
我怎样才能直接将它转换成 dmY 呢?日期字段?就像是:
Select date("dmY",date) WHERE date="$today"
我不知道这是否可行,但我想它可能是,所以我会很感激一点帮助,即使它很简单,是的,它是可行的,不,它不是!
你需要使用date_format
Select date_format(date, '%d%m%Y) from table_name where date = "$today"
我认为您遇到问题的地方是格式化 php 日期以适应您的 mysql_query 格式化的内容
这就是我想出的。
我为您创建了一个简单的代码来处理这个问题。
程序是我使用 mysql 的 CURDATE() 函数从 mysql 获取今天的日期,然后对其进行格式化并匹配表上的现有列
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 />";
}
?>
试试看,让我知道它是否适合你....
Select date_format(date, '%d%m%Y')
from your_table
WHERE date="$today"
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';