嘿,我一直在对php和mysql进行测验......
我使用了CURRENT_TIMESTAMP来跟踪用户回答特定问题的时间。现在我想打印出时间,我在我的数据库中创建了一个名为'timestamp'的行。
它可以很好地跟踪哪些用户首先回答,但是当我回显该行时,它看起来像这样:
2012-01-11 17:14:50
所以我的问题是:
如何在时间和日期解决这个问题?
我的数据库中不能有2行用于存储时间,因为我说我使用CURRENT_TIMESTAMP来跟踪哪些用户首先回答。
现在打印出来的方式并不是很好看,而且使用起来也不是很灵活。
希望有人可以提供帮助,
非常感谢您阅读。
的Mathias。
答案 0 :(得分:0)
您可以使用MySQL的DATE_FORMAT
function以任意方式对其进行格式化,或者您可以使用PHP的strtotime
函数将其转换为Unix时间戳,然后在其上使用date
函数。
mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');
-> 'Sunday October 2009'
或:
print date('l F Y', strtotime('2009-10-04 22:23:00'));
-> 'Sunday October 2009'
答案 1 :(得分:0)
听起来你只想要以美学上令人愉悦的方式格式化日期时间。查看此网站:http://www.mysqlformatdate.com/了解各种格式并找到您最喜欢的内容并将其添加到您的选择语句中。
答案 2 :(得分:0)
阅读http://www.php.net/manual/en/datetime.createfromformat.php
<?php
$date = DateTime::createFromFormat('Y-m-d H:i:s', '2012-01-11 17:14:50');
echo $date->format('Y-m-d H:i:s');
?>
答案 3 :(得分:0)
我总是希望从MYSQL获取unix时间戳,所以在你的SQL查询中执行:
SELECT UNIX_TIMESTAMP(time) as time FROM table
其中time
是列名,然后在php中:
$in_format_time = date("H:i d M Y T",$time);
echo $in_format_time;
其中$time
是获取的结果。这将输出以下内容:1970年1月1日19:00 GMT。
但你可以在日期函数中使用你喜欢的格式,看看这里:
答案 4 :(得分:0)
DATE_FORMAT(NOW(),'%W, %M %e, %Y @ %h:%i %p')
yields 'Sunday, September 20, 2008 @ 12:45 PM'
MySQL DATE_FORMAT() Letter Representations
Specifier Description
%a Abbreviated weekday name (Sun..Sat)
%b Abbreviated month name (Jan..Dec)
%c Month, numeric (0..12)
%D Day of the month with English suffix (0th, 1st, 2nd, 3rd, …)
%d Day of the month, numeric (00..31)
%e Day of the month, numeric (0..31)
%f Microseconds (000000..999999)
%H Hour (00..23)
%h Hour (01..12)
%I Hour (01..12)
%i Minutes, numeric (00..59)
%j Day of year (001..366)
%k Hour (0..23)
%l Hour (1..12)
%M Month name (January..December)
%m Month, numeric (00..12)
%p AM or PM
%r Time, 12-hour (hh:mm:ss followed by AM or PM)
%S Seconds (00..59)
%s Seconds (00..59)
%T Time, 24-hour (hh:mm:ss)
%U Week (00..53), where Sunday is the first day of the week
%u Week (00..53), where Monday is the first day of the week
%V Week (01..53), where Sunday is the first day of the week; used with %X
%v Week (01..53), where Monday is the first day of the week; used with %x
%W Weekday name (Sunday..Saturday)
%w Day of the week (0=Sunday..6=Saturday)
%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y Year, numeric, four digits
%y Year, numeric (two digits)
%% A literal “%” character
%x x, for any “x” not listed above