首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php,如何将char字段的所有行(如"11/19/10“)转换为日期字段?

使用php,如何将char字段的所有行(如"11/19/10“)转换为日期字段?
EN

Stack Overflow用户
提问于 2010-10-18 15:30:20
回答 4查看 175关注 0票数 2

为了使用phpmyadmin将一列日期导入mysql,我将字段定义为char字段。

现在,日期在mysql表中,如下所示:

代码语言:javascript
复制
ID | Name | DateArriving
1  | bill | 11/19/10
2  | tom  | 12/1/10

等等..。

我希望DateArriving字段被格式化为实际日期,这样我就可以执行某些查询,例如“谁将在下周内到达”。

我想要有关PHP代码应该如何进行这种转换的指导。

谢谢。

增编--我使用的最后解决方案:

最后,我用了几个答案的组合:

代码语言:javascript
复制
$select_trips = "SELECT * FROM trips WHERE STR_TO_DATE(DateArriving, '%m/%d/%Y') BETWEEN NOW() AND NOW() + INTERVAL 1 WEEK"; 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-19 08:46:26

代码语言:javascript
复制
SELECT STR_TO_DATE(DateArriving, '%m/%d/%Y') FROM TABLE
票数 1
EN

Stack Overflow用户

发布于 2010-10-18 15:37:24

使用strtotime,您可以将日期转换为时间

http://php.net/manual/en/function.strtotime.php

然后将时间传递到date函数,并按您的需要格式化它。

代码语言:javascript
复制
 date('l F Y h:i:s A', $timestamp);

参见上述链接中的示例

使用date_diffor差异进行比较

票数 2
EN

Stack Overflow用户

发布于 2010-10-18 17:10:13

现在,我不是一个大城市的SQL专家,但我会这样做:

  1. 创建一个新表,其结构是您真正希望的
  2. 逐行读取现有表中的数据,将日期转换为MySQL可以理解的格式,然后将其插入到新表
  3. 中,删除原来的表
  4. ,将新表重命名为现有代码所期望的

< code >H19感谢$DEITY,即文本日期采用单一一致格式,而不是用户提供的不兼容区域差异(如d/m/yyyy与m/d/yyyy混合)H 210g 211

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3960691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档