【问题标题】:Can I add number of days to the (dayoftheweek) to get another day?我可以在 (dayoftheweek) 中添加天数以获得另一天吗?
【发布时间】:2021-04-15 18:09:11
【问题描述】:

我有一个日期,并从中找到 dayoftheweek 。假设我找到的那一天是星期二。我有一个具有持续时间的变量。假设持续时间为 5 天。我能否将 5 添加到星期二并得到星期六作为答案。周二应视为第 1 天,周六应视为第 5 天。

date = 04/13/2021                         #in mm/dd/yyyy
dayoftheweek = GetDayOfWeek(date)         #Tuesday
duration = 5

这是正确的吗?

finaldayoftheweek = dayoftheweek + 5        # I want to get Saturday as answer

如果不是,我该怎么做?

【问题讨论】:

  • Java 和 JavaScript 是两种完全不同的语言。
  • 我不明白!这是一个 java、javascript 还是 python 问题?!!!请下定决心
  • 我不想用任何特定的语言来做这件事。请告诉我是否有办法用这些语言中的任何一种来做到这一点。我正是这个意思 。我知道 java 和 javascript 是不同的语言@Scott Marcus
  • Add and then mod 7 适用于多种语言,但这取决于星期几的编号方式。

标签: javascript java python


【解决方案1】:

如果您想要星期六,请添加 4 天。

/*
 * Obtain the day of the week, tht will occur a number of days after the
 * provided {@code dateString}.<p>
 * @param  {String} dateString - format: mm/dd/yyyy
 * @param  {Numer}  addDays    - days to add to date
 * @return {String} returns the day of week in its 'long' format.
 */
const getDayOfWeek = (dateString, addDays) => {
  const [month, date, year] = dateString.split('/').map(v => parseInt(v, 10));
  const d = new Date(year, month - 1, date);
  d.setDate(d.getDate() + addDays);
  return d.toLocaleDateString('en-US', { weekday: 'long' });
}

console.log(getDayOfWeek('04/13/2021', 4)); // Saturday

如果您只想在一周中的某一天添加​​天数并获得一周中的另一天,请使用模运算。

#!/usr/bin/env python3
DAYS_IN_A_WEEK = 7

start_day_of_week = 2 # Tuesday
number_of_days_to_add = 10 # or 3, 17, 24, 31, etc...
end_day_of_week = (start_day_of_week + number_of_days_to_add) % DAYS_IN_A_WEEK

print(end_day_of_week) # 5 (Saturday)

【讨论】:

  • 我不确定这是否能满足问题的需要。我猜他想要输入“星期二”的一天,一个天的差异,然后是输出的一天,“星期六”
  • @HassenCh。 “我想得到星期六作为答案”
【解决方案2】:

你可以在 Python 中试试这个,但是既然你想要星期六,你应该添加 4:

import datetime

date = datetime.date(2021, 4, 13)                         
dayoftheweek = date.strftime("%A")         #Tuesday
duration = 4                         #Since you mentioned you wanted Saturday

finaldate = date + datetime.timedelta(days= duration)

finaldayoftheweek = finaldayoftheweek.strftime("%A")    #Saturday

【讨论】:

    猜你喜欢
    • 2017-04-06
    • 2019-11-22
    • 2020-02-11
    • 2019-09-28
    • 2020-01-29
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多