【问题标题】:javascript date time_ t conversionjavascript日期时间_t转换
【发布时间】:2013-03-18 10:24:42
【问题描述】:

我在使用 javascript 中的日期格式时遇到问题。 我从数据库(例如 1364565600)中获取以秒为单位的日期(以 time_t 格式) 现在我想将此日期转换为日、月、日(例如,周二、3 月 18 日)。

我希望这是可能的。

 timestart: function (time_start) {
                ///////////////////////////////
                //////code for conversion//////
                return  time_start;
             }

提前致谢!

【问题讨论】:

标签: javascript date format time-t


【解决方案1】:

将你得到的秒数乘以 1000 并使用一个新的 Date() 对象,它以毫秒为参数(基于与 time_t 相同的想法,即自纪元以来的秒数,但 Date() 是基于以毫秒为单位):

 timestart: function (time_start) {

            return new Date(1000 * time_start);
         }

要从中获取日期字符串,请使用 .toDateString()。您可以使用其他一些方法来获取日期信息并将其转换为您想要的类型,您可以在这里找到它们:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

【讨论】:

  • 糟糕,忘记了“新”运算符,现在就在那儿。
  • 我知道 Date 会返回毫秒,但我现在正在创建一个以毫秒为单位的时间,我想要一个 3 月 18 日星期二的日期。如何将毫秒数放入该格式?感谢您的快速回复
  • 访问stackoverflow.com/questions/8262333/…这里你会找到你想要的。
  • James,这是针对 Java,而不是 JavaScript。我更新了我的帖子,告诉原始发帖人获取日期字符串的方法。
  • 我无法让它工作,我对 javascript 有点陌生。这就是我所拥有的。 timestart:函数(time_start){var d = new Date(time_start).toDateString();返回 d; } }) 对不起,我正在学习。
【解决方案2】:

对于 JavaScript 中的详细日期操作,如果您的部署/优化要求允许,使用库是最简单的。我发现Moment JS 是一个很好的解决方案。

【讨论】:

  • 我正在使用 sencha touch 2.1 我不知道是否有可能。是否可以从 milisec 开始将日期格式化为 2013/03/18?感谢回复
  • This thread 似乎是您想要使用带有 Sencha Touch 的外部库的内容。如果您只需要可读的日期(而不是特定格式),我建议您使用@Rob G 的答案并使用.toDateString()
  • 通常只需要一种或两种日期格式,编写适合的格式函数很容易。
【解决方案3】:

javascript 日期对象中的 time value 是自 1970-01-01T00:00:00Z 以来的毫秒数(注意 UTC)。正如 Rob G 所说,您可以将该值传递给 Date 构造函数以获取日期对象,然后使用 Date 方法来获取您想要的内容。

如果您有来自同一纪元的 UTC 时间值(以秒为单位),请将其乘以 1,000 以获得毫秒并传递给日期构造函数:

var date = new Date(timeValue);

您现在可以使用 toStringtoLocaleStringtoISOString 等方法从对象中获取本地或 UTC 日期和时间字符串。您还可以使用标准的 Date 方法来获取本地时间和日期值,或使用 UTC 方法(例如 getUTCFullYear)来获取 UTC 值,以构建您自己格式的字符串。

【讨论】:

    猜你喜欢
    • 2016-12-17
    • 2023-03-26
    • 2017-06-07
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    相关资源
    最近更新 更多