如何将日期和时间为AM / PM的字符串转换为24小时mysql时间戳格式

埃德加姆采

我正在尝试从具有以下dd / mm / yyyy hh:mm:ss AM / PM格式的字符串的日期和时间插入mysql datetime字段

20/10/2014 05:39 PM

20/10/2014 05:39 AM

我知道MYSQL时间戳格式是yyyy-mm-dd hh:mm:ss或0000-00-00:00:00:00

因此,如果我这样做:

$s = substr("20/10/2014 05:39 PM", 0, 10);
$h = date("G:i", strtotime($s));
list($day, $month, $year, $hour, $minute) = split('[/ :]', "20/10/2014 05:39 PM"); 
echo $d1me = $year . '-' . $month. '-' .  $day . ' ' . $h;

我懂了 2014-10-20 19:00

所以我想date_default_timezone_set()函数有问题,如何解决这个问题并获得预期的结果?

20/10/2014 05:39 PM     ->   2014-10-20 17:39:00

20/10/2014 05:39 AM     ->   2014-10-20 05:39:00

怎么做?

迈克尔·伯科夫斯基

MySQL已经知道如何将STR_TO_DATE()函数与结合使用的格式字符串结合使用,以本地方式解析许多不同类型的日期字符串DATE_FORMAT()

因此,我完全不会在此过程中涉及PHP,而是让MySQL自己解析输入。

您需要使用的格式字符串是%d/%m/%Y %h:%i %p,其中%p代表AM/PM

您可以在INSERT语句中使用整个表达式,假设已经验证了它们的格式,则直接从PHP传递字符串。

INSERT INTO your_table (timestamp_column) VALUES (STR_TO_DATE('20/10/2014 05:39 PM', '%d/%m/%Y %h:%i %p'));

...将正确地将DATETIME2014-10-20 17:39:00插入表中。

如果您真的想先在PHP中执行此操作,请使用DateTime::createFromFormat()(PHP 5.3+)使用格式字符串'd/m/Y H:i A'

$d = DateTime::createFromFormat('d/m/Y H:i A', '20/10/2014 05:39 PM');
var_dump($d);

class DateTime#2 (3) {
  public $date =>
  string(26) "2014-10-20 17:39:00.000000"
  public $timezone_type =>
  int(3)
  public $timezone =>
  string(15) "America/Chicago"

要从中获取MySQL格式化的日期,

echo $d->format('Y-m-d H:i:s');
// 2014-10-20 17:39:00

如果非常不幸的是,PHP版本低于5.3,则可以使用类似的结果,strptime()但是您需要将其数组输出组装为MySQL的字符串格式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将24小时格式的时间字符串(带有am / pm)转换为24小时格式的UTC

来自分类Dev

在MySQL中将字符串转换为24小时日期时间格式

来自分类Dev

将AM / PM的12小时时间字符串转换为24小时时间

来自分类Dev

将字符串转换为日期和时间,格式为am / pm

来自分类Dev

将24小时内的字符串转换为12小时AM PM时间

来自分类Dev

将24小时内的字符串转换为12小时AM PM时间

来自分类Dev

将字符串转换为24小时日期时间格式

来自分类Dev

JavaScript / jQuery-从24小时日期时间字符串转换为12小时日期格式?

来自分类Dev

将AM PM的日期时间转换为24小时日期格式

来自分类Dev

如何将多个日期格式的字符串转换为时区格式的时间戳

来自分类Dev

在php中将api返回日期时间字符串从24格式转换为12小时格式

来自分类Dev

MySQL将时间戳和时间字符串转换为DateTime格式

来自分类Dev

转换MySQL的日期时间为24小时格式UNIX时间戳

来自分类Dev

如何在 Java 中将字符串 AM/PM 日期转换为时间戳?

来自分类Dev

仅将时间字符串转换为24小时时间

来自分类Dev

将时间从AM / PM转换为24小时

来自分类Dev

如何将日期字符串转换为具有不同日期格式的时间戳?

来自分类Dev

如何将本地日期时间字符串转换为Unix时间戳(GMT)?

来自分类Dev

比较日期时间和24小时格式的字符串时间

来自分类Dev

如何将1970年之前的日期格式的字符串转换为Windows中的时间戳

来自分类Dev

如何将时间戳转换为字符串

来自分类Dev

NSDateFormatter:当iOS中的系统日期格式为24小时时,无法将12小时格式的字符串转换为日期

来自分类Dev

将12小时时间字符串转换为日期时间或时间

来自分类Dev

如何将日期和时间转换为12小时格式

来自分类Dev

如何将日期和时间转换为12小时格式

来自分类Dev

缺少某些时间时,使用strptime格式化时间,并将AM / PM转换为24小时格式

来自分类Dev

将包含pm的小时字符串转换为日期时间

来自分类Dev

使用moment js将12小时(AM / PM)字符串转换为24 Date对象

来自分类Dev

如何将字符串“ 2015.02.21 1:00 AM GMT”解析为本地日期时间?

Related 相关文章

  1. 1

    将24小时格式的时间字符串(带有am / pm)转换为24小时格式的UTC

  2. 2

    在MySQL中将字符串转换为24小时日期时间格式

  3. 3

    将AM / PM的12小时时间字符串转换为24小时时间

  4. 4

    将字符串转换为日期和时间,格式为am / pm

  5. 5

    将24小时内的字符串转换为12小时AM PM时间

  6. 6

    将24小时内的字符串转换为12小时AM PM时间

  7. 7

    将字符串转换为24小时日期时间格式

  8. 8

    JavaScript / jQuery-从24小时日期时间字符串转换为12小时日期格式?

  9. 9

    将AM PM的日期时间转换为24小时日期格式

  10. 10

    如何将多个日期格式的字符串转换为时区格式的时间戳

  11. 11

    在php中将api返回日期时间字符串从24格式转换为12小时格式

  12. 12

    MySQL将时间戳和时间字符串转换为DateTime格式

  13. 13

    转换MySQL的日期时间为24小时格式UNIX时间戳

  14. 14

    如何在 Java 中将字符串 AM/PM 日期转换为时间戳?

  15. 15

    仅将时间字符串转换为24小时时间

  16. 16

    将时间从AM / PM转换为24小时

  17. 17

    如何将日期字符串转换为具有不同日期格式的时间戳?

  18. 18

    如何将本地日期时间字符串转换为Unix时间戳(GMT)?

  19. 19

    比较日期时间和24小时格式的字符串时间

  20. 20

    如何将1970年之前的日期格式的字符串转换为Windows中的时间戳

  21. 21

    如何将时间戳转换为字符串

  22. 22

    NSDateFormatter:当iOS中的系统日期格式为24小时时,无法将12小时格式的字符串转换为日期

  23. 23

    将12小时时间字符串转换为日期时间或时间

  24. 24

    如何将日期和时间转换为12小时格式

  25. 25

    如何将日期和时间转换为12小时格式

  26. 26

    缺少某些时间时,使用strptime格式化时间,并将AM / PM转换为24小时格式

  27. 27

    将包含pm的小时字符串转换为日期时间

  28. 28

    使用moment js将12小时(AM / PM)字符串转换为24 Date对象

  29. 29

    如何将字符串“ 2015.02.21 1:00 AM GMT”解析为本地日期时间?

热门标签

归档