簡體   English   中英

如何將動態轉換日期傳遞給 html 元素?

[英]How can i pass dynamic converted date to html element?

我的倒計時 div 如下所示: 在這里,我必須使用來自 mmongodb 的動態日期變量設置數據倒計時。 我正在使用 ejs 模板將其存儲在下面的腳本中並將其轉換為所需的甲酸鹽然后需要將其發送到 html 下面

 <div class="countdown" data-countdown="2021/07/10 18:00:00">
                            <div class="days">
                                <div>&nbsp;</div>
                                <span>days</span>
                            </div>
                            <div class="hours">
                                <div>&nbsp;</div>
                                <span>hours</span>
                            </div>
                            <div class="minutes">
                                <div>&nbsp;</div>
                                <span>minutes</span>
                            </div>
                            <div class="seconds">
                                <div>&nbsp;</div>
                                <span>seconds</span>
                            </div>
                        </div>

我將用戶輸入從數據 bast 傳遞給 ejs html 元素,因為我有以下腳本。 我從 DB 獲取數據格式為“Mon Jul 03 2017 00:00:00 GMT+0530”,我正在使用以下腳本進行轉換以匹配格式“2021/07/10 18:00:00”。 我的問題是如何將低於格式化的日期發送到 html 中的“數據倒計時”屬性之上。

另一個疑問是我如何將 ejs 變量傳遞到下面的腳本中。 如果我通過與以下相同,它是否有效。

 <script src="https://cdn.jsdelivr.net/momentjs/2.14.1/moment-with-locales.min.js"></script>
  <script>
    var ds = "<%=My Date as per DB%>"; // Here my dynamic data comes from mongodb database.
    var date = moment(new Date(ds.substr(0, 16)));
    date.format("YYYY-MM-DD 00:00:00"));
  </script>

您可以在您的 ejs 頁面中使用 ejs 語法從服務器端實現這一點

data-countdown= "<%= typeof date != 'undefined'||'' ? date:'' %>"

您的代碼必須放在服務器中

var ds =        // retrieve date from mongodb database.
    var date = moment(new Date(ds.substr(0, 16)));
    const date=date.format("YYYY-MM-DD 00:00:00"));
pass the date to your ejs template

app.get('/',(req,res)=>{
        res.render('page name',date)
}

暫無
暫無

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

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