如何将javascript日期字符串转换为其他格式?

时间:2016-08-26 08:39:26

标签: javascript

我有一个字符串" 26-08-2016"我希望将其转换为" 2016-08-26"。我更喜欢在可能的情况下使用日期对象。但我担心一些正则表达式解决方案才可用?

4 个答案:

答案 0 :(得分:5)

你可以尝试

var date = "26-08-2016";


var newdate = date.split("-").reverse().join("-");

输入:26-08-2016

输出:2016-08-26

答案 1 :(得分:1)

您是否已尝试使用moment.js

var mydate = moment("26-08-2016" , "DD-MM-YYYY").format("YYYY-MM-DD");

答案 2 :(得分:0)

Date对象确实公开了一个API,允许您从对象中获取某些值,例如日期,月份,小时和时区,这些值可用于设置日期字符串的格式。

使用Date对象方法的简单格式化示例。

var date = new Date();

var output = [date.getFullYear(), date.getMonth()+1, date.getDate()].join('-'); 

console.log( output ); //2016-8-26

更好的方法是编写一个格式化函数,如下所示:

function formatDate(now) {
   var year = now.getFullYear();
   var month = now.getMonth()+1;
   var date = now.getDate();

   //Add '0' to month if less than 10
   month = (month.toString().length < 2)
      ? "0"+month.toString()
      : month;

   return [year, month, date].join('-');
   //return `${year}-${month}-${date}`; if you're using ES6
}

var now = new Date();

console.log(
   formatDate(now)
); // 2016-08-26

所有可用的方法都可以在mozilla docs https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth

找到

答案 3 :(得分:0)

试试这个

private void mainTabControl_DrawItem(object sender, DrawItemEventArgs e)
{
    //This code will render a "x" mark at the end of the Tab caption. 
    e.Graphics.DrawString("x", e.Font, Brushes.Black, e.Bounds.Right - CLOSE_AREA, e.Bounds.Top + 4);
    e.Graphics.DrawString(this.mainTabControl.TabPages[e.Index].Text, e.Font, Brushes.Black, e.Bounds.Left + LEADING_SPACE, e.Bounds.Top + 4);
    e.DrawFocusRectangle();
    mainTabControl.Padding = new Point(21, 3);
}