时间戳转换:获取日期,日期,小时,分钟等,而无需创建"新日期()"

时间:2016-10-10 07:53:43

标签: javascript timestamp date-arithmetic date-conversion

我正在构建一个网络应用程序并正确显示列表中的项目,我将附加到每个项目的时间戳转换为可读格式。

示例:1475842129770变为Friday, 07.09.2016

为了创建这个字符串,我使用标准的javascript方式,创建一个新的Date-Object,然后使用getDate()getMonth()等函数。

我的代码:

这会将时间戳转换为DD.MM.YYYY

function convertTimestampToReadable(timestamp) {
        var t = new Date(timestamp),
            d = t.getDate(),
            m = t.getMonth(),
            y = t.getFullYear();
        return ((d<=9)?("0"+d):d)+"."+((m<=9)?("0"+m):m)+"."+y;
    }

这一天返回星期几(忽略德国日名称):

function getDayOfTheWeek(timestamp) {
        var t = new Date(timestamp);
        switch (t.getDay()) {
            case 0:
                return "Sonntag";
                break;
            case 1:
                return "Montag";
                break;
            case 2:
                return "Dienstag";
                break;
            case 3:
                return "Mittwoch";
                break;
            case 4:
                return "Donnerstag";
                break;
            case 5:
                return "Freitag";
                break;
            case 6:
                return "Samstag";
                break;
        }
    }

我的问题:

是否有更短/更快的方式来获取这些时间戳属性? 特别是我感兴趣的是,如果有一种方法没有创建一个Date-Object,那么就可以使用时间戳编号来制作一些魔法。

感谢您的投入! :)

1 个答案:

答案 0 :(得分:1)

您可以使用数组作为日期名称

function getDayOfTheWeek(timestamp) {
    var days = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
    return days[(new Date(timestamp)).getDay()];
}