javascript - SQL/C# DateTime 转换为 Javascript 变量

标签 javascript c# sql-server asp.net-core

我想要制作 JavaScript 倒计时,它以 SQL Server DateTime 作为结束时间,以 C# 日期时间作为时间,我将从 SQL Server Endtime 中减去这里是代码

            <script>

            var EndTime = @Context.Session.GetString("EndTime");

            var nowtime = @DateTime.Now.ToString();

            var difference = EndTime - nowtime;

            var initialTime = difference ;

            var seconds = initialTime;
            function timer() {
                var days = Math.floor(seconds / 24 / 60 / 60);
                var hoursLeft = Math.floor((seconds) - (days * 86400));
                var hours = Math.floor(hoursLeft / 3600);
                var minutesLeft = Math.floor((hoursLeft) - (hours * 3600));
                var minutes = Math.floor(minutesLeft / 60);
                var remainingSeconds = seconds % 60;
                if (remainingSeconds < 10) {
                    remainingSeconds = "0" + remainingSeconds;
                }
                document.getElementById('countdown').innerHTML = days + "dias " + hours + "horas " + minutes + "minutos " + remainingSeconds + "segundos";
                if (seconds == 0) {
                    clearInterval(countdownTimer);
                    document.getElementById('countdown').innerHTML = "Completed";
                } else {
                    seconds--;
                }
            }
            var countdownTimer = setInterval('timer()', 1000);

        </script>


<span id="countdown" class="timer"></span>

@Context.Session.GetString("EndTime") 这是来自 SQL Server 的日期时间

以这种方式向 Javascript 添加日期时间不起作用,需要一些帮助,谢谢。

最佳答案

<span id="countdown" class="timer"></span>

<script>


            var t1 = "@Context.Session.GetString("EndTime")";
            var endTime = new Date(t1);

            var t2 = "@DateTime.Now.ToString()";
            var nowTime = new Date(t2);

            var initialTime = (endTime - nowTime)/1000;

            var seconds = initialTime;
            function timer() {
                var days = Math.floor(seconds / 24 / 60 / 60);
                var hoursLeft = Math.floor((seconds) - (days * 86400));
                var hours = Math.floor(hoursLeft / 3600);
                var minutesLeft = Math.floor((hoursLeft) - (hours * 3600));
                var minutes = Math.floor(minutesLeft / 60);
                var remainingSeconds = seconds % 60;
                if (remainingSeconds < 10) {
                    remainingSeconds = "0" + remainingSeconds;
                }
                document.getElementById('countdown').innerHTML = days + "dias " + hours + "horas " + minutes + "minutos " + remainingSeconds + "segundos";
                if (seconds == 0) {
                    clearInterval(countdownTimer);
                    document.getElementById('countdown').innerHTML = "Completed";
                } else {
                    seconds--;
                }
            }
            var countdownTimer = setInterval('timer()', 1000);

        </script>

我记得我是如何做到这一点的,谢谢大家。

关于javascript - SQL/C# DateTime 转换为 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58249771/

相关文章:

javascript - 以文件形式提交 HTML 表单数据/合并表单数据 + 文件并在 Javascript 中作为单个文件发送

javascript - 在 d3.js 中嵌入 json 文件 (d3.layout.partition)

javascript - 如何记住 Crossrider 中弹出窗口的状态?

c# - 使用 itextsharp 重新排序 pdf 文件中的页面

SQL 如何获取 XML 数据列的值并在 where 子句中使用它

sql - 在我的查询中指定日期不会产生任何结果/记录

javascript - TypeScript - 将一个对象的所有属性分配给另一个对象的简写方式

c# - 从字符串中提取数字

c# - Excel货币数据根据区域设置而变化

sql-server - 一台服务器上两个数据库的查询性能