【问题标题】:Angular Js: date field from database showing one day lessAngular Js:数据库中的日期字段显示少一天
【发布时间】:2017-08-23 00:04:31
【问题描述】:

我的@Entity Person 类中有什么 -

@JsonFormat(pattern="yyyy-MM-dd")
private Date dob;

我在屏幕上打印的内容-

 <tr ng-repeat="person in vm.persons">
       <td>{{person.id}}</td>
       <td>{{person.name}}</td>
       <td>{{person.location}}</td>
       <td>{{person.dob}}</td>
  </tr>

person.dob 显示的日期比数据库中存在的日期少 1 天。 可能的原因是什么? 注意:

我在 Microsoft SQL Server 数据库中将 dob 作为日期类型。 来自 REST 调用的 JSON 响应返回时间戳,该时间戳正在转换为 yyyy-mm-dd 格式,如上所示。

问题示例:- 在数据库中的 dob(s) 是:-

dob
1989-05-18
1989-05-18
1970-01-01

屏幕显示如下-

Person Dob
1989-05-17
1989-05-17
1969-12-31

如果需要有关此问题的更多信息,请告诉我。

【问题讨论】:

  • 发布任何操纵vm.persons的代码。并在浏览器中检查服务器返回正确的响应。如果此服务器端或客户端出现问题,这将有所帮助。
  • 这很可能与时区有关,如果您检查转换前后日期的时间(以及任何偏移量),这可能会突出问题。

标签: angularjs sql-server json date


【解决方案1】:

我建议使用时刻 js 或其他东西来获取 UTC 日期。这是服务器和UI之间的常见问题

【讨论】:

    猜你喜欢
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多