簡體   English   中英

將UNIX時間戳轉換為月/日期/年格式的函數

[英]Function to convert UNIX Timestamp to month/date/year Format

我正在使用ExpressJS,當我嘗試獲取日期值時,我希望將UNIX格式的日期轉換為mm / dd / yyyy格式。 我試圖創建一個將數據轉換為這種新格式的函數,但是我無法調用方法,因為看來blogpost.date是未定義的。 我應該在路線的其他部分使用此轉換功能嗎? 另外,我是否正確使用包含此轉換時間戳記的新變量? 謝謝您的幫助。

錯誤:

/Users/user/Desktop/Projects/node/blog/node_modules/mongoose/lib/utils.js:419
        throw err;
              ^
TypeError: Cannot call method 'getMonth' of undefined
    at dateDisplayed (/Users/user/Desktop/Projects/node/blog/app/routes.js:39:53)
    at /Users/user/Desktop/Projects/node/blog/app/routes.js:42:25
    at /Users/user/Desktop/Projects/node/blog/node_modules/mongoose-paginate/lib/mongoose-paginate.js:47:5
    at /Users/user/Desktop/Projects/node/blog/node_modules/mongoose-paginate/node_modules/async/lib/async.js:592:17
    at done (/Users/user/Desktop/Projects/node/blog/node_modules/mongoose-paginate/node_modules/async/lib/async.js:135:19)
    at /Users/user/Desktop/Projects/node/blog/node_modules/mongoose-paginate/node_modules/async/lib/async.js:32:16
    at /Users/user/Desktop/Projects/node/blog/node_modules/mongoose-paginate/node_modules/async/lib/async.js:589:21
    at /Users/user/Desktop/Projects/node/blog/node_modules/mongoose-paginate/lib/mongoose-paginate.js:40:9
    at /Users/user/Desktop/Projects/node/blog/node_modules/mongoose/lib/utils.js:414:16
    at /Users/user/Desktop/Projects/node/blog/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js:594:7

模型(blogModel.js):

var mongoose    = require('mongoose');
var mongoosePaginate = require('mongoose-paginate');
var Schema      = mongoose.Schema;



var BlogPostSchema  = new Schema({
        title: String,
        blogUrl: String,
        author: String,
        tagline: String,
        category: String,
        content: String,
        tags: { type: String, lowercase: true },
        date: { type: Date, default: Date.now }
});

BlogPostSchema.plugin( mongoosePaginate );

var Blogpost = mongoose.model("Blogpost", BlogPostSchema);



module.exports = mongoose.model('Blogpost', BlogPostSchema);

路線(routes.js):

var express = require('express');
var router = express.Router();
var blogDB = require('../config/blogDB.js');
var Blogpost = require('./models/blogModel.js');
var paginate = require('express-paginate');

//index 
router.use(paginate.middleware(10, 50));




    router.route('/') 


        // START GET method
        .get(function(req, res, next) {

            Blogpost.paginate({}, req.query.page, req.query.limit, function(err, pageCount, blogpost, itemCount) {




                if (err) return next(err)

                        if (err)
                            res.send(err);


                        blogpost.title = req.body.title; // get the blog title
                        blogpost.author = req.body.author; // get the author name
                        blogpost.tagline = req.body.tagline; // get tagline
                        blogpost.content = req.body.content; // get the blog content
                        blogpost.category = req.body.category; // get the category
                        blogpost.tags = req.body.tags; // get the tags
                        blogpost.date = req.body.date;

                        function dateDisplayed(date){
                            var dateCreated = (date.getMonth() + 1 + '/' + date.getDate() + '/' + date.getFullYear());
                        }

                        dateDisplayed(blogpost.date);

                        console.log(dateDisplayed);


                        res.format({
                            html: function() {
                                res.render('pages/index', {
                                    blogpost: blogpost,
                                    pageCount: pageCount,
                                    itemCount: itemCount
                                })
                            },
                            json: function() {

                                res.json({
                                    object: 'blogpost',
                                    has_more: paginate.hasNextPages(req)(pageCount),
                                    data: blogpost
                                })
                            }
                        }); // END res.format(html, json)
            }); // END Blogpost.paginate
        }); // END GET method

index.ejs:

<div class="blog-content">
                <% blogpost.forEach(function(blogpost) { %>
                    <tr>
                        <td><h2><a href="#" class="blog-title"><%= blogpost.title %></a></h2></td>
                        <td><h3><%= blogpost.dateCreated %></h3></td>
                        <td><h3 class="blog-category"><%= blogpost.category %></h3></td>
                        <td><h3 class="blog-tagline"><i><%= blogpost.tagline %></i></h3></td>
                        <td><p><%=: blogpost.content | truncate:800 | append:'...' %></p></td>
                        <td><a href="/blog/<%= blogpost.blogUrl %>" class="blog-read-more">Read More</a></td>
                    </tr>
                    <% }); %>
            </div>

我假設您的時間戳記是數字而不是日期。 嘗試console.log(typeof blogpost.date)再次檢查。 如果是這樣,請嘗試:

blogpost.date = new Date(req.body.date);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM