jkr*_*r01 6 date iso8601 angularjs asp.net-web-api2
我有一个 Angular 应用程序,它获取日期(仅日期而不是时间)并将它们发布到 Web API 2 REST 服务。当印度人由于时区问题使用该应用程序时,我们遇到了一个问题。
目前,Angular 应用程序正在将日期转换为 UTC 时区的 ISO8601 格式,并将它们发送到 Web API。在 Web API 端接收数据时,日期最终不正确。如果将 2016 年 6 月 21 日放入表单中,则日期最终会变为 2016 年 6 月 20 日。所需的解决方案是让表单中输入的实际日期值成为 API 接收到的日期值。
一种建议的解决方案是将日期视为字符串而不是日期,然后只传递日期部分。这对我来说似乎是一种黑客行为,似乎不是“正确”的做法。
处理这种情况的正确方法是什么?
鉴于该应用程序具有大量日期字段输入这一事实,是否有一种简单的方法可以跨所有日期输入值实施该解决方案?
日期格式yyyy-MM-dd将在美国/印度被接受,因此您可以将其传递给您的 WebAPI。在发布之前,您可以在 JavaScript 中更改日期,如下所示。
$scope.MyDate = $filter('date')($scope.MyDate, 'yyyy-MM-dd', timezone);
Run Code Online (Sandbox Code Playgroud)
如果您也想要时间,格式将是yyyy-MM-ddTHH:mmZ
| 归档时间: |
|
| 查看次数: |
2866 次 |
| 最近记录: |