javascript - 在javascript中将日期字符串转换为dd/mm/yy

标签 javascript date

我要转换

Tue Jul 12 2016 00:00:00 GMT+0100 (BST)

进入

12/07/2016

假设我有 d = 2016 年 7 月 12 日星期二 00:00:00 GMT+0100 (BST)。我试过了

var a = d.getDate()+"/"+(d.getMonth()+1)+"/"+d.getFullYear();

但是我得到的是 12/7/2016 而不是 12/07/2016

我可以做到

if(d.getMonth()<10){
    var a = d.getDate()+"/0"+(d.getMonth()+1)+"/"+d.getFullYear();

但我不喜欢这样,而且当一天少于 10 点时我也会遇到同样的问题。达到我想要的格式的最佳方法是什么。我只需要它作为字符串显示在 View 中。

最佳答案

这个怎么样

var month = 7; // july (months are base 0)
var day = 12;
var year = 2016;
var d = new Date(year,month-1,day);

var a = pad(d.getDate(),2)+"/"+pad(d.getMonth()+1,2)+"/"+d.getFullYear();
console.log(a)


function pad(num, size) {
    var s = num+"";
    while (s.length < size) s = "0" + s;
    return s;
}

使用 How to output integers with leading zeros in JavaScript 中的填充函数

您可能还想检查http://momentjs.com/到“在 JavaScript 中解析、验证、操作和显示日期。”

这是另一个填充函数(我用过很多)

var month = 7; // july (months are base 0)
var day = 12;
var year = 2016;
var d = new Date(year,month-1,day);

var a = pad(d.getDate(),2)+"/"+pad(d.getMonth()+1,2)+"/"+d.getFullYear();
console.log(a)

/**
 * Returns a zero-padded string of length characters
 * When the number is more than the length, the number is returned 
 * in its full length (longer than the specified length)
 * @param {Number} number The number to be padded
 * @param {Number=2} length
 * @returns {String} the padded String or the number if longer than specified length
 */
function pad(number, length) {
    if (length === undefined) {
        length = 2;
    }
    var missing = length - digits(number);
    if (missing < 0)  return number.toString();
    return Array(missing + 1).join("0") + number.toString();
}

/**
 * Utility function to return the number of digits of a number
 * @param {Number} int the number for which to get the #digits
 * @returns {Number} the number of digits
 */
function digits(int) {
    return Math.floor(Math.log(int) / Math.LN10 + 1);
}

关于javascript - 在javascript中将日期字符串转换为dd/mm/yy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38592698/

相关文章:

javascript - 如何更改选择列表的默认下拉图标

javascript - 如果 JSON 中的键有空值,则发送错误状态(AJAX、Node 和 Express)

sql - 如何从 Hive 中的 'yyyy-MM' 日期格式获取上个月

ruby-on-rails - Rails 4 中的最佳日期验证?

date - 如何使用 MOXy 绑定(bind)文件处理 java.util.Date

更改C中的日期格式

javascript - 为什么在计算scrollPercent时需要从windowHeight减少clientHeight?

javascript - PHP - JSON 数组到 javascript 数据表库

javascript - jQuery 1.4 change()、复选框和 IE

java - 如何解析格式中带有可选字符的日期