Преобразование метки времени в MM DD, YYYY и наоборот без каких-либо npm

Я написал ниже микросервис для преобразования метки времени unix в формат, подобный Dec 01,2017, и наоборот, и развернул здесь отметка времени

Есть ли у них лучший способ сделать это без стороннего NPM?

var path = require('path');
var express = require('express');
var app = express();
var bodyparser = require('body-parser');


app.route('/:date')
    .get(function(req, res) {
        // res.sendFile(process.cwd() + '/views/index.html');
        var unix = null,
            naturaldate = null;
        //console.info(parseInt(timestamp),timestamp)
        let timestamp = req.params.date;
        if (!isNaN(timestamp)) {
            let parsetime = new Date(parseInt(timestamp))
            console.info(parsetime);
            if (parsetime == 'Invalid Date') {
                console.info("got invalid date")
                send_response(null, null, res);
            }
            let parsenaturaldate = parsetime.toDateString().split(" ").slice(1);
            let year = parsenaturaldate.splice(2, 0, ',');
            year = parsenaturaldate.splice(1, 0, ' ')
            naturaldate = parsenaturaldate.join("")
            console.info(naturaldate)
            unix = parseInt(timestamp)
            send_response(unix, naturaldate, res);
        } else {
            unix = Date.parse(timestamp);

            if (!isNaN(unix))
                naturaldate = timestamp
            else
                send_response(null, null, res);
            send_response(unix, naturaldate, res);
        }
    })

function send_response(unix, naturaldate, res) {
    console.info(unix, naturaldate)
    res.json({
        "unix": unix,
        "natural": naturaldate
    })
}

app.listen(8083 || process.env.PORT, () => {
    console.info("server is listening")
})

Какое время дня используется для отметки времени? какой часовой пояс?

tsh 25.04.2018 13:10

Может, хочешь date.toISOString().replace(/^(....)-(..)-(..).*$/, '$2 $3,$1')?

tsh 25.04.2018 13:19

Я хочу преобразовать метку времени в MM DD, YYYY без npm. Ex- timestamp 1512086400000 должен показать свое значение 01 декабря 2017 г. В настоящее время я делаю как новую дату (1512086400000), которая возвращает Fri Dec 01 2017 05:30:00 GMT + 0530 (стандартное индийское время), я использую функцию splice, join, чтобы преобразовать это в формат 01 декабря 2017 г. Так есть ли другой лучший способ сделать это? @Tsh

Biswadev 25.04.2018 13:24

date.toISOString (). replace (/^(....)-(..)-(..).*$/, '$ 2 $ 3, $ 1') возвращение 12 01,2017 не похоже на декабрь 01,2017

Biswadev 25.04.2018 13:33

вы говорите о MMM DD,YYYY, а не о MM DD,YYYY. Попробуйте date.toString().replace(/\S* (\S*) (\S*) (\S*) .*/, '$1 $2,$3')

tsh 26.04.2018 03:37
Поведение ключевого слова "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) для оценки ваших знаний,...
0
5
161
1

Ответы 1

Следующий фрагмент должен делать примерно то, что вы хотите. Если вам нужно изменить формат месяцев, вы можете просто отредактировать массив monthNames.

var date = new Date(2017,11,1);
var monthNames = [
  "jan", "feb", "mar",
  "apr", "may", "jun", "jul",
  "aug", "sep", "oct",
  "nov", "dec"
];

var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();

day = day < 10 ? "0" + day.toString() : day.toString();

var result = monthNames[monthIndex] + ' ' + day + ',' + year;
console.info(result);

Чтобы обратить процесс вспять, вам нужно будет разделить строку на части, найти индекс названия месяца в массиве, а затем создать новый Date из этих частей.

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