簡體   English   中英

在javascript中格式化日期字符串

[英]Format a date string in javascript

您好,每個我都有這樣的 iso 格式的字符串類型的日期字段: const date = "2017-06-10T16:08:00: 我想以某種方式以如下格式編輯字符串:10-06-2017 但我'正在努力實現這一目標。我在“T”字符之后剪切了子字符串

不用moment.js也可以實現,但是我建議你使用它

var date = new Date("2017-06-10T16:08:00");

var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();

if (day < 10) {
  day = '0' + day;
}
if (month < 10) {
  month = '0' + month;
}

var formattedDate = day + '-' + month + '-' + year

使用Moment.js.format函數。

moment('2017-06-10T16:08:00').format('MM/DD/YYYY');

會輸出

06/10/2017

除了format功能之外, Moment.js還會豐富你更多有用的功能。

如果日期字符串始終為 ISO 格式,您還可以使用正則表達式重新格式化,而無需其他庫:

date.replace(/(\d{4})\-(\d{2})\-(\d{2}).*/, '$3-$2-$1')

我想建議使用moment js找到它 - http://momentjs.com/docs/

並像使用它一樣

    moment(date.toString()).format("MM/DD/YYYY")

您可以使用 JavaScript date() 內置函數來獲取您想要的部分日期/時間。 例如顯示時間是10:30:

<script>
var date = new Date();
 var min = date.getMinutes();
  var hour = date.getHour();
   document.write(hour+":"+min);
   </script>

獲取年、月、日、星期幾使用

  • getFullYear();

  • getMonth();

  • 獲取日期();

  • getDay();

要獲取您發布的日期:

使用Date.toJSON()

 function formatDate(userDate) { // format from M/D/YYYY to YYYYMMDD return (new Date(userDate).toJSON().slice(0,10).split('-').reverse().join('-')); } console.log(formatDate("2017-06-10T16:08:00"));

如果您想在 vanilla javascript 中執行此操作,@Ivan Mladenov 的回答很棒,可以使用padStart稍微鞏固一下

const date = new Date()
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')

console.log(`${day}-${month}-${year}`)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM