【问题标题】:Retrieving date from mySQL in a datetime or timestamp format以日期时间或时间戳格式从 mySQL 检索日期
【发布时间】:2022-01-24 05:49:30
【问题描述】:

我正在尝试从 mySQL 数据库中的日期列中检索日期。我的代码(mysqljs):

今天 = document.getElementBYId("myDate").value

结果:

今天 = 2021 年 12 月 23 日星期四 14:05:00 GMT+0800(新加坡标准时间)

如何让它只返回日期和时间 (yyy:mm:dd hh:mm:ss)?

(在mySql中-字段日期的列类型设置为DATETIME。)

【问题讨论】:

  • 结果 这个结果表单是由 node.js 构建的。 如何让它只返回日期和时间 (yyy:mm:dd hh:mm:ss)? 在 SQL 查询中使用 DATE_FORMAT() 并检索不是 DATETIME 而是 STRING 输出。跨度>
  • 正如@Akina 建议的那样,您可以在 SELECT 中使用 mySql 格式化 DATETIME 列:DATE_FORMAT(<datetime-column-name>, '%Y:%m:%d %H:%i:%s') AS formatted_date

标签: mysql node.js date


【解决方案1】:

我终于找到了解决这个问题的方法。

首先我将日期捕获到一个变量中:

`var today = document.getElementById("mydate").value;`

(今天的格式为: 2021 年 12 月 23 日星期四 14:05:00 GMT+0800(新加坡标准时间)

然后我将其拆分(以删除那些我不想要的信息):

var t = today.split(" ");
var d = t[0]+" "+t[1]+" "+t[2]+","+t[3]

接下来我创建一个函数来格式化日期:

function formateDate(date){
    var e = new Date(date),
    month = '' + (e.getMonth() + 1),
    day = '' + e.getDate(),
    year = e.getFullYear();

    if (month.length <2)
        month = '0' + month;
    if (day.length <2)
        day = '0' + day;

    return [year, month, day].join('-');
      }

然后我将今天传入函数:

`today_x = formatDate(d)`

最后我将它显示为我正在渲染的表单:

document.getElementById("mydate").value = today_x;

我希望这会有所帮助。我认为这不是最有效的方法,但我已经为此苦苦挣扎了将近一周,这是我能想出的唯一解决方案。我希望有人可以提供另一种不那么繁琐的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2011-03-05
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多