【问题标题】:How to set date and time 24 hours from current date using Date object?如何使用 Date 对象设置从当前日期起 24 小时的日期和时间?
【发布时间】:2017-03-24 16:00:07
【问题描述】:

我正在使用 angular-bootstrap dateandtimepicker 模块,所以在下面的代码中,当用户启动浏览器时,我想将日期和时间设置为从当前日期和时间提前 24 小时,我如何使用 Date 对象来完成该任务?

main.html

<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
    <datetimepicker data-ng-model="dateRangeStart" data-datetimepicker-config="{ dropdownSelector: '#dropdownStart', renderOn: 'end-date-changed' }" data-on-set-time="startDateOnSetTime()" data-before-render="startDateBeforeRender($dates)"></datetimepicker>
</ul>

ctrl.js

$scope.dateRangeStart = new Date();
$scope.dateRangeStart.setHours($scope.dateRangeStart.getHours() - 24);
console.log($scope.dateRangeStart);

【问题讨论】:

标签: javascript angularjs twitter-bootstrap date


【解决方案1】:

Js 日期对象既简单又智能,不仅增加了 24 小时,还考虑了夏令时和新月/年。只需使用以下内容:

var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);

【讨论】:

  • 我在寻找昨天的日期,我使用了 -1 而不是 +1,所以这对我有用
【解决方案2】:

您还可以使用毫秒值从某一天回滚一整天:

currentDate = new Date();
previousDay = new Date(currentDate - 86400000);
alert(previousDay);

【讨论】:

  • 但并非所有的日子都是 8.64e ms 观察夏令时。
【解决方案3】:

var app = angular.module("app", []); 
app.controller("ctrl", function($scope) {

    var todaysDate = new Date();    
    var tomorrowsDate = new Date().setDate(todaysDate.getDate()+1);    
    var formattedDate = new Date(tomorrowsDate);

    console.log(formattedDate);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
    
</div>

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多