Преобразовывать дату, данную в формате yyyy-mm-dd в string в javaScript?

Я захватываю дату в формате yyy-mm-dd (2016-06-30) и я хочу дать ему более любезный формат для пользователя, ищу следующее:

2016-06-30 = 6 de Junio del 2016 
2016-06-30 = Junio (Mostrar el mes dada la fecha)
2016-06-30 = Jueves (Mostrar el día, suponiendo que el 06 sea Jueves).
6
задан 15.09.2016, 18:49
5 ответов

Это стандартный, доступный выбор в большинстве браузеров (все современные), toLocaleDateString

Пример.

var fecha = new Date();
var options = { year: 'numeric', month: 'long', day: 'numeric' };

console.log(
  fecha.toLocaleDateString("es-ES", options)
);

Другой, который он включает в день недели:

var fecha = new Date(1995, 11, 17);
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };

console.log(
  fecha.toLocaleDateString("es-ES", options)
);

fecha = new Date("2017-08-21");
console.log(
  fecha.toLocaleDateString("es-ES", options)
);

Если ты сосредотачиваешься на остроконечной документации, достигни, есть различные выборы, чтобы показывать все или только какие-то из частей в форматируемой дате.

В зависимости от выборов, которые ты используешь, ты можешь показывать только в день, или в месяце. Ты подпираешь ты можешь, если ты не включаешь locale ("es -" - Испанец Испании) оставлять это для того, чтобы он использовал локальный configuarción пользователя. Это обычно является хорошей практикой, так как пользователь считает конфигурировавшим формат как предпочтено и хороший, это уважается.

Salu2

11
ответ дан 24.11.2019, 13:22
  • 1
    Все это происходить и # 237; в с настоящей датой, сейчас, если я хочу взять дату, которую он захватывал бы, как это объясняю в post, в котором место podr и # 237; чтобы размещать эту информацию? –  Alan 15.09.2016, 19:50
  • 2
    это то же самое, ты должен использовать соответствующий строитель, обрати внимание мое редактирование. –  rnrneverdies 15.09.2016, 19:53
  • 3
    Спасибо за твой explicaci и # 243; n! –  Alan 15.09.2016, 19:57
  • 4
    Кажется очень интересной эта solució n и fá cil, у меня какая-то консультация есть по этому поводу haver, если ты можешь решать ее мне, я увидел, что, что они не функционируют, это options в android webview? то, что не функционировало бы, так это это?-------var options = { weekday: ' long' year: ' numeric' month: ' long' day: ' numeric' }; < / code>-------того, чтобы быть así android webview - aplicació n урожденная, чтобы входить в Интернет в android? @rnrneverdies –  Juanperez 06.07.2019, 00:43

PodrГ-эксперт пытаться простой формы используя momentjs

var date = moment('2016-08-15');
date.format('LL'); // 15 de Septiembre de 2016
date.format('LLL') // Jueves, 15 de Septiembre de 2016 0:00

не забывай включить помещений

5
ответ дан 24.11.2019, 13:22
  • 1
    Гениальный, посмотри, когда мы используем формат date.format('LLL') , откуда он захватывает час? –  Alan 16.09.2016, 15:56
  • 2
    Привет, что такой, он прощает опоздание, ты можешь проводить час с датой например: Ты можешь форматировать var date = moment('2016-08-15 17:22') в формат 12H следующего способа date.format('LL hh:mm') // 15 de Septiembre de 2016 05:22. Я надеюсь, что он ты помогает... –  Carlos Meneses 19.09.2016, 00:28

Согласно documentaciГіn ты можешь пробовать следующее:

var fechaEjemplo = moment('2016-06-30', 'YYYY/MM/dd');
fechaEjemplo = fechaEjemplo.format('MMMM D, YYYY');
// Resultado: Junio 30, 2016

CГіdigo доказательства, налаженный siguente шрифт .


, Если ты созерцаешь мысль использовать только javascript, я рекомендую тебе использовать следующего cГіdigo:

var meses = [
  "Enero", "Febrero", "Marzo",
  "Abril", "Mayo", "Junio", "Julio",
  "Agosto", "Septiembre", "Octubre",
  "Noviembre", "Diciembre"
]

var date = new Date();
var dia = date.getDate();
var mes = date.getMonth();
var yyy = date.getFullYear();
var fecha_formateada = dia + ' de ' + meses[mes] + ' de ' + yyy;

document.getElementById('spnFecha').innerHTML = "Fecha: " + fecha_formateada;
alert(fecha_formateada);
<span id="spnFecha">Fecha:</span>

CГіdigo, изданный ответ Алехандро Рикотти .

6
ответ дан 24.11.2019, 13:22
  • 1
    Уже я встретил ответа, благодаря которому ты объяснял в начало (с momentjs ), реализовав fechaEjemplo.format('D de MMMM del YYYY');, это и #250; nico дело в том, что я был должен добавлять язык, из-за которого такой каков этот all и # 237; результат был бы на английском –  Alan 15.09.2016, 19:55

Так как asГ - с языком сценариев JavaScript 'в волосы' tendrГ-эксперт, который должен создавать один Array со всеми именами месяцев и 'mapearlos':

const meses = [
  "Enero", "Febrero", "Marzo",
  "Abril", "Mayo", "Junio", "Julio",
  "Agosto", "Septiembre", "Octubre",
  "Noviembre", "Diciembre"
]

const date = new Date()
const dia = date.getDate()
const mes = date.getMonth()
const ano = date.getFullYear()

console.log(`${dia} de ${meses[mes]} del ${ano}`)  // 15 de Septiembre del 2016

Для dГ-эксперта недели tendrГ-схвати, что делать немного похоже.

4
ответ дан 24.11.2019, 13:22

Принимая во внимание ответы, я нашел ее soluciГіn справедливый человек, как он нуждался в ней используя ее librerГ - в :

// uso el idioma en español
moment.locale('es');
//
var dateTime = moment( '2016-06-30');
// formato de fecha miercoles 1, junio 2016
var full = dateTime.format('dddd D, MMMM YYYY');
// mes
var mes = dateTime.format(' MMMM');
// dia (escrito)
var dia = dateTime.format('dddd');
// dia
var diaN = dateTime.format('D');
/////
// Update
var full2 = dateTime.format('LL');
//
var fullTime = dateTime.format('LLLL');

console.log(full, mes, dia, diaN, full2, fullTime );
<!-- importo la libreria moments -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.0/moment.min.js"></script>
<!-- importo todos los idiomas -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.0/moment-with-locales.min.js"></script>

Для большей информации в около форматов используя здесь

Большое спасибо в течение Вашего времени и Ваша помощь мне казалась очень полезной

3
ответ дан 24.11.2019, 13:22

Теги

Похожие вопросы