【问题标题】:how to convert jquery datepicker format to timestamp format like dd-mm-yyyy (28/09/2019 3:40pm)如何将 jquery datepicker 格式转换为时间戳格式,如 dd-mm-yyyy (28/09/2019 3:40pm)
【发布时间】:2019-09-28 10:16:45
【问题描述】:

我不想手动转换,我有 jquery datepicker v.1.12.1 如果我从 datepicker 中选择日期,它将自动转换时间戳格式。 我想要 timestamp 中的日期格式,例如 28/09/2019 3:40 GMT-0400 这种格式到 1569668513 这种格式。

你能帮帮我吗?

var dateString = '#referdate',
    dateTimeParts = dateString.split(' '),
    timeParts = dateTimeParts[1].split(':'),
    dateParts = dateTimeParts[0].split('/'),
    date;

date = new Date(dateParts[2], parseInt(dateParts[1], 10) - 1, dateParts[0], timeParts[0], timeParts[1]);

console.log(date.getTime()); //1379426880000
console.log(date); //28-09-2019 3:40 GMT-0400

【问题讨论】:

  • date 还有其他方法...比如toLocaleString - 如有疑问,阅读友好手册
  • 但是先生,我使用 jquery datepicker,如果我从 datepicker 中选择日期,它将自动转换时间戳格式。
  • 什么是timestamp format?结果是 Date 对象吗?你的代码没有意义,因为 dateString = '#referdate' 意味着 dateString.split(' ') 将返回一个长度为 1 的数组,其值为 "#referdate" - 也许你需要做更多解释
  • 我使用 jquery datepicker,如果我从 datepicker 中选择日期,我想自动转换时间戳格式。怎么样?
  • 你一直在讨论的这个时间戳格式是什么

标签: javascript jquery html


【解决方案1】:

你可以试试这个。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
    <html>
       <script>
          function getTimeAndDate(){
          let today = new Date();
                let date = today.getDate()+'/' + (today.getMonth()+1) + '/'+today.getFullYear();
                let h = today.getHours();
                let m =today.getMinutes();
            console.log(h+':'+m);
            console.log(date);
          }
          
       </script>
       <body>
          <input type="button" onclick="getTimeAndDate()" value="Button">
       </body>
    </html>

【讨论】:

  • 我使用 jquery datepicker,如果我从 datepicker 中选择日期,我想自动转换时间戳格式。怎么样?
【解决方案2】:

您在寻找dateFormat 选项吗?

来自docs

$( ".selector" ).datepicker({
  dateFormat: "yy-mm-dd"
});

$( "#datepicker" ).datepicker({
  dateFormat: "@"
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script
  src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"
  integrity="sha256-0YPKAwZP7Mp3ALMRVB2i8GXeEndvCq3eSl/WsAl1Ryk="
  crossorigin="anonymous"></script>
<input id="datepicker">

【讨论】:

  • 相同,但我想要时间戳格式。如果我从 datepicker 中选择任何日期,我希望得到 28/09/2019 到 1569668513 这种格式。
  • 非常感谢@ArleighHix,但我只想在我的控制台上显示这个转换......在前端我只想显示日期和时间......
  • @Joe 从您的问题或任何其他 cmets 中都不清楚,请参阅我的新答案,并将您的评论添加到问题的上方。
【解决方案3】:

如果您只想记录所选日期的时间戳,您可以直接从更改选择器中获取 javascript 日期对象。

// however you initialize the datepicker does not matter
$("#datepicker").datepicker();

// when a date is picked the change event is fired
$("#datepicker").change(function() {
  // get the date object
  let theDate = $("#datepicker").datepicker("getDate");
  
  console.log(theDate.getTime())
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js" integrity="sha256-0YPKAwZP7Mp3ALMRVB2i8GXeEndvCq3eSl/WsAl1Ryk=" crossorigin="anonymous"></script>
<input id="datepicker">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    相关资源
    最近更新 更多