JavaScript \获取上周四的日期

时间:2016-02-08 14:07:55

标签: javascript

如何通过JavaScript获取上周四的日期?

如果星期四是今天,则获得-7天。

在格式输出之后,如2016年4月17日'。

5 个答案:

答案 0 :(得分:0)

首先,通过分享您的代码可以更轻松地帮助您;)

您可以使用返回当周当天的Date.getDay()方法获取上周四。

喜欢这样:

var now = new Date();
var daysAfterLastThursday = (-7 + 4) - now.getDay(); // 7 = number of days in week, 4 = the thursdayIndex (0= sunday)
var currentMs = now.getTime();
var lastThursday = new Date(currentMs + (daysAfterLastThursday * 24 * 60 * 60 * 1000));
alert("Last Thursday : " + lastThursday);

jsFiddle

答案 1 :(得分:0)

很简单,你可以自己做。

  1. 查找当前日期
  2. 将d添加3
  3. 使用(结果%7)
  4. 将步骤2的结果修改为7
  5. 如果步骤3的结果为0,则从今天的日期减去7,否则从今天的日期减去步骤3的结果。

答案 2 :(得分:0)

这是我编写的适用于所有情况的函数。

/**
 * @param {Date} date - the initial Date
 * @param {('Mon'|'Tue'|'Wed'|'Thurs'|'Fri'|'Sat'|'Sun')} day - the day of week
 * @returns {Date} - the Date of last occurrence or same Date if day param is invalid
 */
function getLastDayOccurence (date, day) {
  const d = new Date(date.getTime());
  const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thurs', 'Fri', 'Sat'];
  if (days.includes(day)) {
    const modifier = (d.getDay() + days.length - days.indexOf(day)) % 7 || 7;
    d.setDate(d.getDate() - modifier);
  }
  return d;
}

如果要查找从今天开始的最后一个星期四,则用法如下:

const lastThursday = getLastDayOccurence(new Date(), 'Thurs');

也在这里回答:https://stackoverflow.com/a/59145062/5436697

答案 3 :(得分:0)

这可能是错误的形式,但是我已经使用PHP的strtotime函数来做到这一点。

const d = "<?php echo date("d M Y", strtotime ("last thursday")); ?>";

答案 4 :(得分:-2)

import javax.inject.Inject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.social.twitter.api.Tweet;
import org.springframework.social.twitter.api.Twitter;
import java.util.List;


public class UpdateTweetsService {@Value("${screenName}")
private final Twitter twitter;

@Inject
public UpdateTweetsService(Twitter twitter) {
    this.twitter = twitter;

}
/**
 * Performs a Request to get the UserTimeline from Twitter API
 */

 public List<Tweet> tweets() {

        return twitter.timelineOperations().getUserTimeline("${screenName}");    
 }