Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript将UTC值转换为dd mm yyyy格式?_Javascript_Date_Utc - Fatal编程技术网

使用javascript将UTC值转换为dd mm yyyy格式?

使用javascript将UTC值转换为dd mm yyyy格式?,javascript,date,utc,Javascript,Date,Utc,我想使用javascript将UTC时间值(例如1367214805)转换为日期(以dd-mm-yyyy格式) 例如,在PHP中,如果我们使用 <?php Date("d-m-Y",'1367214805'); ?> 。。。我们直接以dd-mm-yyyy格式获取日期 javascript中是否有此类函数? -我在javascript中以各种方式尝试了Date(),但每次它都会打印当前的日期和时间 谢谢您可以使用该方法并忽略T之后的所有内容,例如 var isoDateStr =

我想使用javascript将UTC时间值(例如1367214805)转换为日期(以dd-mm-yyyy格式)

例如,在PHP中,如果我们使用

<?php Date("d-m-Y",'1367214805'); ?>

。。。我们直接以dd-mm-yyyy格式获取日期

javascript中是否有此类函数? -我在javascript中以各种方式尝试了Date(),但每次它都会打印当前的日期和时间

谢谢

您可以使用该方法并忽略
T
之后的所有内容,例如

var isoDateStr = myDate.toISOString();
isoDateStr = isoDateStr.substring(0, isoDateStr.indexOf('T'));
这将为您提供标准UTC日期格式yyyy-mm-dd。如果需要将日期具体格式化为dd-mm-yyyy,则可以获取该结果并切换值,即

isoDateStr = isoDateStr.split('-').reverse().join('-');

JavaScript使用毫秒纪元,因此需要将数字乘以1000

var t = 1367214805;
var d = new Date(t * 1000);
然后有
.getUTCxxx
方法来获取所需的字段,然后您只需执行零填充并连接即可获得所需的字符串

function epochToDate(t) {
    function pad2(n) {
        return n > 9 ? n : '0' + n;
    }
    var d = new Date(t * 1000);
    var year = d.getUTCFullYear();
    var month = d.getUTCMonth() + 1;  // months start at zero
    var day = d.getUTCDate();

    return pad2(day) + '-' + pad2(month) + '-' + year;
}
您可以尝试以下方法:

myDate.toISOString().split('T')[0].split('-').reverse().join('-')
看一看,你应该能够得到任何格式,你想要和容易

console.log(new Date());
console.log(moment().format("D-M-YY"));
console.log(moment(1367214805 * 1000).format("DD-MM-YY"));

为什么不使用
getUTCxxx()
方法

function formatUTC(time_UTC_in_milliseconds_since_epoch) {
    /*
     * author: WesternGun
     */
    var time = new Date(time_UTC_in_milliseconds_since_epoch);
    var formatted = time.getUTCFullYear() + "-" 
        + (time.getUTCMonth() + 1).toString() + "-" 
        + time.getUTCDate() + " " 
        + time.getUTCHours() + ":" 
        + time.getUTCMinutes() + ":" 
        + time.getUTCSeconds();
    return formatted;
}
请记住向月份添加1,因为
getUTCMonth()
的返回值范围是
0~11

根据您的意见,我们有:

formatUTC(1367214805 * 1000); // return "2013-4-29 5:53:25"
要将数字格式化为
\d\d
格式,只需创建另一个函数:

function normalizeNumber(input, toAdd) {
    if (parseInt(input) < 10) {
        return toAdd + input;
    } else {
        return input;
    }
}
函数正常化枚举器(输入,添加){
if(parseInt(输入)<10){
返回ADD+输入;
}否则{
返回输入;
}
}

并像使用
normalizeEnumber((time.getUTCMonth()+1.toString(),“0”)
等一样使用它。

ISO8601的可能副本是
yyyy-mm-dd
,而不是
dd-mm-yyyy
我想要的是“日期”,而不是日期!!其余两件事都很顺利。。Thanks@BhaumikKothari是的,在你评论之前我已经解决了。