2016-10-10 4 views
1

Я создаю веб-приложение и для отображения элементов в списке правильно, я конвертирую метку времени, прикрепленную к каждому элементу в читаемый формат.Преобразование временной отметки: получить день, дату, час, минуты и т. Д., Не создавая «новую дату» (0).

Пример: 1475842129770 становится Friday, 07.09.2016

Для создания этой строки я использую стандартный способ Javascript путем создания нового Date-объект, а затем с помощью getDate(), getMonth() и т.д. функции.

Мой код:

Это преобразует временную метку в ДД.ММ.ГГГГЕ

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; 
    } 

Это один возвращает день недели (Ignore немецких названий дней):

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; 
     } 
    } 

Мой вопрос:

Есть ли какой-либо shor ter/более быстрый способ получить эти свойства timestamp? Особенно мне интересно, есть ли способ, не создавая Date-Object, тем самым создавая волшебство с самим номером метки.

Спасибо за ваш ввод! :)

+0

гляньте время Joda http://www.joda.org/joda-time/ – ZaoTaoBao

+1

* Вы могли *. Однако это будет намного хуже, чем просто создание объекта Date. – Phylogenesis

+0

Вам не нужна магия, вам нужна математика ... – Teemu

ответ

1

Вы можете использовать массив для daynames

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

Спасибо, это намного лучше, чем мое решение! –

 Смежные вопросы

  • Нет связанных вопросов^_^