任何人都知道一个简单的方法来获取本周第一天的日期(欧洲的星期一).我知道年份和周数?我打算用C#做这个.
我有一个查询计算会员在数据库中的结婚日期...
Select
Sum(NumberOfBrides) As [Wedding Count],
DATEPART( wk, WeddingDate) as [Week Number],
DATEPART( year, WeddingDate) as [Year]
FROM MemberWeddingDates
Group By DATEPART( year, WeddingDate), DATEPART( wk, WeddingDate)
Order By Sum(NumberOfBrides) Desc
Run Code Online (Sandbox Code Playgroud)
如何在结果集中表示每周的开始和结束时计算出来?
Select
Sum(NumberOfBrides) As [Wedding Count],
DATEPART( wk, WeddingDate) as [Week Number],
DATEPART( year, WeddingDate) as [Year],
??? as WeekStart,
??? as WeekEnd
FROM MemberWeddingDates
Group By DATEPART( year, WeddingDate), DATEPART( wk, WeddingDate)
Order By Sum(NumberOfBrides) Desc
Run Code Online (Sandbox Code Playgroud) 在R中寻找一个函数将日期转换为周数(一年)我week从包中找到了data.table.但是,我发现了一些奇怪的行为:
> week("2014-03-16") # Sun, expecting 11
[1] 11
> week("2014-03-17") # Mon, expecting 12
[1] 11
> week("2014-03-18") # Tue, expecting 12
[1] 12
Run Code Online (Sandbox Code Playgroud)
为什么星期二的周数转换为12,而不是星期一?我错过了什么?(时区应该是无关紧要的,因为只有日期?!)
关于(基本)R函数的其他建议也受到赞赏.
我有ISO 8601年和周编号,我需要将其翻译为该周(星期一)第一天的日期.我怎样才能做到这一点?
datetime.strptime()接受a %W和a %U指令,但都不遵守datetime.isocalendar()使用的ISO 8601工作日规则.
更新: Python的3.6支持%G,%V并%u指令也存在于libc中,使这一个班轮:
>>> datetime.strptime('2011 22 1', '%G %V %u')
datetime.datetime(2011, 5, 30, 0, 0)
Run Code Online (Sandbox Code Playgroud) 我怎么能从JS的那一刻开始从过去的某个日期开始的星期编号只从一个选定日期的格式化对象开始?
我正在尝试使用以下格式获取完整LocalDate的周数:
dd.MM.yyy
Run Code Online (Sandbox Code Playgroud)
我还没有在Java 8 Date API中找到一个返回Week Number的函数,我试图创建一个算法,但它没有用.
例如:
Calendar c = Calendar.getInstance();
DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
c.setTime( sdf.parse("31/12/2010"));
out.println( c.get( Calendar.WEEK_OF_YEAR ) );
Run Code Online (Sandbox Code Playgroud)
打印1
Joda时间也是如此.
:)
根据官方(格里高利)日历,2008年12月29日的周数为1,因为在第52周的最后一天(即28/12)之后,该年剩下三天或更少的天数.有点奇怪,但没关系,规则是规则.
因此,根据这个日历,我们有2008/2009年的这些边界值
C#提供了一个GregorianCalendar类,它有一个函数GetWeekOfYear(date, rule, firstDayOfWeek).
该参数rule是一个包含3个可能值的枚举:FirstDay, FirstFourWeekDay, FirstFullWeek.根据我的理解,我应该FirstFourWeekDay遵守规则,但我尝试了所有这些以防万一.
最后一个参数通知哪个工作日应该被视为一周的第一天,根据该日历,它是星期一,所以它是星期一.
所以我启动了一个快速而肮脏的控制台应用程序来测试这个:
using System;
using System.Globalization;
namespace CalendarTest
{
class Program
{
static void Main(string[] args)
{
var cal = new GregorianCalendar();
var firstWeekDay = DayOfWeek.Monday;
var twentyEighth = new DateTime(2008, 12, 28);
var twentyNinth = new DateTime(2008, 12, 29);
var firstJan = new DateTime(2009, 1, 1);
var eightJan = new DateTime(2009, 1, 8);
PrintWeekDays(cal, twentyEighth, firstWeekDay);
PrintWeekDays(cal, …Run Code Online (Sandbox Code Playgroud) week-number ×10
python ×3
.net ×2
c# ×2
calendar ×2
date ×2
java ×2
data.table ×1
datetime ×1
iso ×1
java-8 ×1
javascript ×1
jodatime ×1
momentjs ×1
r ×1
sql ×1
sql-server ×1
time ×1