-2

每个人

我的问题是我的 JS 代码以格式生成日期

“2013 年 1 月 10 日星期四 00:00:00 GMT+0200(FLE 标准时间)”

我需要把它转换成这样的格式

“2013-01-10”

在 JS 或 PHP 中,因为我以这种格式将日期存储在 DB 中。我的第一个想法是将其转换为时间戳,然后将时间戳转换为新的日期字符串,但日期或字符串函数无法读取这种日期格式,因此可能需要预先放置一些东西,仅此而已。

4

5 回答 5

1

阅读有关 php的信息strtotime

<?php

$date_str = "Thu Jan 10 2013 00:00:00 GMT+0200";

echo date('Y-m-d',strtotime($date_str));
于 2013-01-24T11:17:23.937 回答
0

这是一个如何在 JavaScript 中格式化日期的示例:

function formatDate(date) {
   var year = date.getFullYear(),
       month = date.getMonth() + 1,
       day = date.getDate();
   if (month.toString().length === 1) {
      month = '0' + month;
   }
   if (day.toString().length === 1) {
      day = '0' + day;
   }
   return year + '-' + month + '-' + day;
}
formatDate(new Date("Thu Jan 10 2013 00:00:00 GMT+0200 (FLE Standard Time)"));
//"2013-01-10"
于 2013-01-24T11:17:00.053 回答
0

尝试使用date.js进行转换。

var myDate = new Date("Thu Jan 10 2013 00:00:00 GMT+0200 (FLE Standard Time)").toString('yyyy-MM-dd');
console.log(myDate); //2013-01-10
于 2013-01-24T11:18:24.280 回答
0

您可以使用此 javascript 代码获取日期。

<script type="text/javascript">
    var currentTime = new Date()
    var month = currentTime.getMonth() + 1
    var day = currentTime.getDate()
    var year = currentTime.getFullYear()
    document.write("" +year + "-" + month + "-" + day + "")
</script>
于 2013-01-24T11:21:09.130 回答
0

你可以做类似的事情:

var date = new Date("Thu Jan 10 2013 00:00:00 GMT+0200 (FLE Standard Time)"),
    month,
    day,
    date_string;

date_string = date.getFullYear() + '-' +
    ((month = date.getMonth() + 1) < 10 ? '0' + month : month) + '-' +
    ((day = date.getDate()) < 10 ? '0' + day : day);

date_string 现在包含“2013-01-10”的值。

于 2013-01-24T11:45:40.970 回答