ASP.. NET Razor c#到TypeScript/JavaScript的SqlDateTime等价

ASP.NET Razor C# to TypeScript/JavaScript equivalent for SqlDateTime

本文关键字:JavaScript SqlDateTime 等价 TypeScript NET Razor ASP      更新时间:2023-09-26

我正在使用Angular1将旧的.cshtml视图文件转换为纯HTML + TypeScript。在这种情况下,Angular真的没有太多的问题,而是从Razor视图中的一些C#代码中找到TypeScript(或JavaScript)中的等效功能。

旧代码如下:

ng-init=" vm.defaultStartDate='@SqlDateTime.MinValue.Value'; vm.defaultEndDate='@SqlDateTime.MaxValue.Value'"

在更新后的代码中,这些值将不会在视图中设置;没有理由这么做。用TypeScript编写的Angular控制器逻辑可以初始化这些值,并在需要时使用它们。问题是,我正试图找出TypeScript/JavaScript中的等效代码,我似乎无法提出正确的实现。

根据MSDN, @SqlDateTime.MinValue.Value将等于以下内容:

SqlDateTime结构的最小有效日期是1753年1月1日

从MSDN for @SqlDateTime.MaxValue.Value:

SqlDateTime结构的最大有效日期是12月31日,9999。

我已经尝试了以下,但当执行时,我在服务器上得到一个问题,日期没有正确定义。当我在TypeScript中调试时,它们也不匹配原始版本。

this.defaultStartDate = String(new Date('1/1/1753'));
this.defaultEndDate = String(new Date('12/31/9999'));

当然有更好的方法来初始化这些日期,我肯定我错过了一些微不足道的东西。使用TypeScript/JavaScript设置这些日期的最佳方法是什么?它本质上是旧C#代码所做的书端开始/结束默认日期。

将您的日期转换为年月日或客户端版本。你可以参考下面的链接。

将DateTime转换为字符串格式("yyyyMMdd")