我使用了Now(),它在数据库中存储了类似“2017-01-10 19:28:58”的内容,这是用户设备的当前时间。
但我希望它像1月10日晚上7:28一样。如何以简单的方式做到这一点。请帮忙
答案 0 :(得分:0)
您可以使用PHP日期函数
date(F d \a\t\ g:ia);
答案 1 :(得分:0)
您可以使用PHP日期函数及其格式选项
var types = require('runtime-types')
var validate = require('runtime-types').validate
var MyTypes = types.readFile(path.join(__dirname, '../test/example-types.js'))
var VALIDATORS = {
PhoneNumber: validate.validateRegex(/^\d{10}$/),
}
var validators = validate.createAll(VALIDATORS, MyTypes)
var errs = validators.User({
age: 23,
phone: "8014114399"
})
// ==> [ { key: 'username', value: undefined, error: 'missing' } ]
如果您想要更详细的格式,请访问PHP手册here。您可以通过详细示例找到所需的一切。
答案 2 :(得分:0)
您的帖子含糊不清,但听起来您指的是SQL NOW()函数。存储的数据格式可以是DATETIME或TIMESTAMP,也可以是DATE和TIME列的组合。从数据库中检索此值时获得的格式取决于数据存储格式,查询以及在进入PHP时如何处理值。
如果要使用SQL重新格式化,请考虑使用DATE_FORMAT之类的函数。假设您的日期列名为my_column,这是一个示例查询。
SELECT DATE_FORMAT(my_column, '%M %e at %l:%i%p');
编辑:你也可以在NOW()函数的结果上使用DATE_FORMAT:
SELECT DATE_FORMAT(NOW(), '%M %e at %l:%i%p');
您可能需要调整第二个参数以获取所需的日期格式。
如果您的日期在数据库中存储为字符串(VARCHAR或其他),则需要先将其转换为时间戳或日期时间,然后使用PHP日期函数输出所需的变体。假设$ row是数据表中的记录:
$date_string = $row["my_column"];
$stamp = strtotime($date_string); // NOTE that this will assume some timezone
if (!$stamp) {
die("Could not create a timestamp from the date");
}
echo date("F j \a\t g:ia);
你也可以使用PHP'DateTime functions,它们更现代,如果使用有些冗长。