2

我需要解释相对日期字符串,例如:

  • 上周五
  • 本周二
  • 下周三

“上周五”表格很简单(取不是今天的最近一个周五),但是“这个”与“下一个”呢?“这个星期三”会是昨天的星期四吗?在某些情况下,“这个”和“下一个”星期五可能是同一天,而在另一些情况下则相隔一周?


ps 鉴于我的目标受众是美国人,我主要对该术语的美国英语白话用法感兴趣,而对其他非美国英语(例如en-gb)用法的兴趣稍低,因此如果您不是美国,请说出您在哪里从。


我目前的想法:

  • Last X:最近的 X 不包括今天。
  • This X : 下一个 X 不包括今天。
  • Next X:下周的 X(一周的开始有点随意)。

在这里试试(一定要检查allow relative

4

14 回答 14

8

我在美国,在每天的谈话中,我们都是这样使用这些短语的:

  • 本周二”是指声明发出后最快的周二。不包括今天

  • 周二”是指本周二之后的周二。

于 2009-08-12T18:21:29.703 回答
4

好吧,我认为你需要看看这个问题......如果它说“你什么时候做X?那么'这个星期二'显然意味着下周二。如果它说“你什么时候做X?那么“这个星期二”是指上一个星期二。

于 2009-08-12T18:17:55.780 回答
4

上周五 = 今天之前的第一个周五
下周三 = 今天之后的第一个周三*。

这个星期二是个问题。这是一个问题,因为人们用它来表示不同的东西。对于某些人来说,这意味着本周的星期二,即使它是过去的。对于其他人来说,这意味着今天之后的下一个星期二。

同样,有些人使用下周三来表示下周的周三。在南方,我们常说“星期三周”作为“从星期三开始的一周”的缩写形式。您将看到所有这些术语的使用方式存在地区差异(可能上周五除外)。

问题是,我们都可以争论正确的语法用法,有人会是对的。然而,这不会改变人们在日常使用中的含义不同的事实,通常是按地区划分的。这将继续成为你的问题。

理想情况下,您需要一个学习计划。它会猜测他们的意思并提出一个答案,他们可以纠正。随着时间的推移,您可以“学习”您的用户,无论是整体还是整体块(可能是按地区),并且更准确地猜测他们的语言的正确解释。您可能永远无法超越让他们以某种方式手动覆盖您的决定的能力。

于 2009-08-12T18:19:52.750 回答
3

这指的是:当天,与名称匹配的一周中的第二天,或者如果我们通过了所说的日期,则为下一周的指定日期。如果按照列出的顺序应用,您在这些规则中定义周的任何一天都是有意义的。

下一个(这个选择有点武断,但我个人的选择)指的是当前一周中的指定日期。

如果我们定义星期天结束的星期,并且是星期三,则以下将成立:

本周三将是当前日期。
下周三将是下周。

如果我们定义星期天结束的星期,并且是星期二,则以下将成立:

这个星期三将是第二天(本周的星期三)。
下周三将是从现在起的 8 天(下周的周三)。

如果我们定义星期天结束的星期,并且是星期四,以下将成立:

本周三将是下周
的周三 下周三将是下周的周三

于 2009-08-12T18:21:18.377 回答
3

不幸的是,我认为“最后一个”和“下一个”都是模棱两可的。

我相信如果是星期六,很少有人会称昨天为“上周五”。与下一个类似。不过,在周日,大多数人会称之为“上周五”。

next 就更暧昧了,什么时候从“下周五”切换到“本周五”??

如果我被要求对此进行编码,我会将其放入某种表格中,以便用户可以对其进行调整。

于 2009-08-12T18:21:24.150 回答
2

使用 Perl 的Date::Manip,很明显是模棱两可的 ;-)

#!/usr/bin/perl

use strict;
use warnings;

use Date::Manip;

my @dates = (
    'today',
    'Tuesday',
    'this Tuesday',
    'next Tuesday',
    'previous Tuesday',
    'Friday',
    'this Friday',
    'first Tuesday of August 2009',
    'first Monday of 1900',
);

print for map {
    my $date = UnixDate($_, "%A, %B %d, %Y");
    sprintf( "%-30s : %-30s\n", $_, $date || 'stumped' );
} @dates;

输出:

C:\温度> d
今天:2009 年 8 月 12 日,星期三
周二:2009 年 8 月 11 日,周二
这个星期二:难倒
下周二:2009 年 8 月 18 日,周二
上周二:2009 年 8 月 11 日,周二
星期五:2009 年 8 月 14 日星期五
这个星期五:难倒
2009 年 8 月的第一个星期二:2009 年 8 月 4 日,星期二
1900 年的第一个星期一:1900 年 1 月 1 日星期一
于 2009-08-12T20:35:49.200 回答
1

“这个星期二”将是本周的星期二,除非是星期六。我听说很多人把“这个星期二”称为下周的星期二星期六。

“下周三”可能是不是本周的下周三。

于 2009-08-12T18:20:50.687 回答
1

当有些人说“下周五见”时,他们的真正意思是“下周五见”/“下周五见”。其他人(包括我自己)会从字面上解释它。我会添加视觉确认以消除混淆。另外,今天是星期三。如果有人来问我上周二做了什么,我会意识到他们可能在谈论昨天或大约 8 天前。

顺便说一句,我是美国人。

于 2009-08-12T18:23:10.090 回答
1

根据我的经验,在美式英语中,“this”总是表示当天的下一个直接发生。如果是星期一,“这个星期三”是指后天。通常,如果是星期一,“这个星期二”优先被称为“明天”——我不记得有人在星期一说“这个星期二”,除非他们认为现在是星期天。

如果我在星期三说“下星期三”,我的意思是从今天开始的一周。但是,如果我在星期二说“下星期三”,我可能是指从明天开始的一周,或者我可能是指明天——这将取决于上下文,因此相当“糊涂”。大多数美国佬会将其解释为从明天开始的一周。我认为。反正我会。

于 2009-08-12T18:24:01.353 回答
1

根据这个网站,这是模棱两可的:

如果我告诉你公司野餐是下周六,那么明智的做法是问我是指即将到来的周六还是之后的周六。人们在这种情况下使用“下一步”的方式不同,并且没有标准模式;所以值得付出额外的努力来弄清楚。

在英国,通过说“下一个星期六”或“星期六周”来明确区分。</p>

英语中的常见错误

于 2009-08-12T19:35:04.657 回答
1

我想起了体育之夜:
丹:今天是星期四。
娜塔莉:是的。
丹:今天是下周四。
娜塔莉:今天是星期四。这是下周四。

无论如何,我一直用 Next 来表示所述日期的以下发生。虽然这可以指过去的一天,只要它不接近下周。

周日:
本周三:是即将到来的周三
下周三:是即将到来的周三

同一周:但周三 本周
三:是今天
下周三:是下周的周三

同一周:但在星期五
本星期三:是 2 天前
下星期三:是下周的星期三

同一周:但是星期六
这个星期三:是下周的星期三(过去的日子有点随意,但我通常是2-3)
下星期三:是下周的星期三

于 2009-08-12T19:52:07.913 回答
1

如果没有适当的上下文或预定义的语法,就不可能推断出“this”和“next”的真正含义。在英语中,当这些术语在没有上下文的情况下使用时,寻求澄清或发生误解的情况并不少见。

考虑以下:

  • 这个周末我们放松了。
  • 这个周末我们要去度假。
  • 这个星期三是我的生日,但下星期三是弗雷德的生日。
  • 这个星期三是弗雷德的生日,但上星期三是我的生日。

this 和 next 以某种方式被限定的情况并不少见(例如“即将到来的星期五”、“过去的星期五”等)。

于 2009-08-12T20:33:11.840 回答
0

这个星期二是今天之后的下一个星期二,所以在一个星期二,下一个星期二是 1 周之后

同样,“下周三”的工作方式相同。

于 2009-08-12T18:16:11.587 回答
0

由于有多种解释方式,我建议您以您想要的方式定义单词并创建一个图表以显示它们的含义(相信我单独的单词会被误解)然后让您的项目经理或客户或负责需求定义的人签署他们同意您的定义。确保在纸上得到一个真实的签名,当同一个人抱怨时,你可以稍后将其取出,因为它没有按照他们的预期计算。事实上,尽可能多地获得签名,以确保可能参与循环的每个人都看到 abd 同意你的定义。

于 2009-08-12T20:18:53.290 回答