如何获得月份名称,日期和时间?

时间:2017-01-10 18:40:14

标签: php

我使用了Now(),它在数据库中存储了类似“2017-01-10 19:28:58”的内容,这是用户设备的当前时间。

但我希望它像1月10日晚上7:28一样。如何以简单的方式做到这一点。请帮忙

3 个答案:

答案 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,它们更现代,如果使用有些冗长。