Как напечатать только день вместо полной даты?

У меня есть полная дата в моем массиве JSON, но в соответствии с моими потребностями мне нужна только дата, а не месяц и год, например, если полная дата - 2018-12-01, я хочу иметь только 01.

Поскольку это требование для меня, и я понятия не имею, как я могу объединить это

const raw = [
  [
    "JAYANAGAR",
    "2018-09-01",
    "476426"
  ],
  [
    "MALLESHWARAM",
    "2018-09-01",
    "92141"
  ],
  [
    "KOLAR",
    "2018-09-01",
    "115313"
  ],
  [
    "JAYANAGAR",
    "2018-09-02",
    "511153"
  ],
  [
    "MALLESHWARAM",
    "2018-09-02",
    "115704"
  ],
  [
    "KOLAR",
    "2018-09-02",
    "83597"
  ],
  [
    "JAYANAGAR",
    "2018-09-03",
    "167421"
  ],
  [
    "KOLAR",
    "2018-09-03",
    "53775"
  ]
]
let types = new Set();
const rawObj = raw.reduce((memo, [type, date, value]) => {
  date = date.split('-').reverse().join('-');
  memo[date] = memo[date] || {};
  memo[date][type] = parseInt(value);
  types.add(type);
  return memo;
}, {});
types = [...types];

const data = Object.entries(rawObj).reduce((memo, [date, value]) => {
  memo.push([date, ...types.map(type => value[type] || 0)]);
  return memo;
}, [
  ['Billdate', ...types.map(type => `${type[0]}${type.substr(1).toLowerCase()}`)]
]);

console.info(data)

здесь, в моем коде, я форматирую свои данные JSON, так как теперь мне нужно только дату, а не месяц и год.

Любой здесь умоляет меня направить или посоветовать мне, как я могу этого добиться

вы пробовали new Date(date).getDay();

Bibberty 02.01.2019 06:45

Пожалуйста, попробуйте задать вопрос с минимальным кодом.

A.T. 02.01.2019 06:47

Даже date.slice(-2) получит нужные данные

Phil 02.01.2019 06:48

Возможный дубликат Извлечь дату и время из строки с помощью Javascript

A.T. 02.01.2019 06:48

Возможный дубликат Получить точный день из строки даты в Javascript

Dinesh K 02.01.2019 10:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
5
445
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Вы можете изменить строку даты на объект Date и использовать функцию getDate для получения части даты

var d = new Date('2018-09-03');
console.info(d.getDate())

привет, не могли бы вы помочь мне с этим постом stackoverflow.com/questions/55919420/…

manish thakur 06.05.2019 07:36

Попробуйте добавить это:

new Date("2018-09-03").getDate();

Вы можете сначала преобразовать строку даты тура в Дата объекта, а затем использовать getDate() для получения даты. Это гарантирует поддержку различных форматов даты и времени.

var date = new Date('2018-09-01')
console.info(date.getDate());

В соответствии с данными вашего массива raw, предполагая, что ваша дата всегда будет с индексом 1, вы можете попробовать это

const raw = [
  [
    "JAYANAGAR",
    "2018-09-01",
    "476426"
  ],
  [
    "MALLESHWARAM",
    "2018-09-01",
    "92141"
  ],
  [
    "KOLAR",
    "2018-09-01",
    "115313"
  ],
  [
    "JAYANAGAR",
    "2018-09-02",
    "511153"
  ],
  [
    "MALLESHWARAM",
    "2018-09-02",
    "115704"
  ],
  [
    "KOLAR",
    "2018-09-02",
    "83597"
  ],
  [
    "JAYANAGAR",
    "2018-09-03",
    "167421"
  ],
  [
    "KOLAR",
    "2018-09-03",
    "53775"
  ]
]

var dateList = raw.map(data => {
  return new Date(data[1]).getDate();
})

console.info(dateList)

эй, не могли бы вы помочь мне stackoverflow.com/questions/56521258/… Я застрял здесь долгое время, Если вы можете помочь мне с каким-то подходом, это будет очень полезно

manish thakur 10.06.2019 10:02
Ответ принят как подходящий
var date = new Date('2019-01-02');
alert(date.getDate())

.getDate() - это функция, которая возвращает день из даты.

Если дата является строкой делать-

console.info(date.slice(-2));

Вы можете добиться этого с помощью небольшой магии регулярных выражений:

var regex = /^\d{4}-\d\d-(\d\d)$/;
var dates = []

for (let i = 0; i < raw.length; i++) {
    var match = regex.exec(raw[i][1]);
    dates.push(match[1])
}

Регулярное выражение соответствует строке дня (4 цифры "-" 2 цифры "-" 2 цифры) и фиксирует дату перед ее отправкой в ​​массив.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

Я скажу вам получить массив сырой в желаемой форме в самом первом операторе следующим образом.

Note: Then you move forward with you logic after that. Creating new dates using new Date() statement doesn't make sense.

const raw = [
   [
     "JAYANAGAR",
     "2018-09-01",
     "476426"
   ],
   [
     "MALLESHWARAM",
     "2018-09-01",
     "92141"
   ],
   [
     "KOLAR",
     "2018-09-01",
     "115313"
   ],
   [
     "JAYANAGAR",
     "2018-09-02",
     "511153"
   ],
   [
     "MALLESHWARAM",
     "2018-09-02",
     "115704"
   ],
   [
     "KOLAR",
     "2018-09-02",
     "83597"
   ],
   [
     "JAYANAGAR",
     "2018-09-03",
     "167421"
   ],
   [
     "KOLAR",
     "2018-09-03",
     "53775"
   ]
 ].map((l) => { l[1] = l[1].split('-')[2]; return l})

console.info(raw)
/*
  [ [ 'JAYANAGAR', '01', '476426' ],
    [ 'MALLESHWARAM', '01', '92141' ],
    [ 'KOLAR', '01', '115313' ],
    [ 'JAYANAGAR', '02', '511153' ],
    [ 'MALLESHWARAM', '02', '115704' ],
    [ 'KOLAR', '02', '83597' ],
    [ 'JAYANAGAR', '03', '167421' ],
    [ 'KOLAR', '03', '53775' ] ]
*/

Попробуйте этот код

var weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var d = new Date('08/11/2015');
alert(weekday[d.getDay()]);

Вы можете использовать moment.js, который прост в использовании:

<script src = "https://momentjs.com/downloads/moment.js"/>

var day = moment(new Date('2018-09-03')).format('DD');

Другие вопросы по теме