]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
cal: various tests for week numbers
authorTommi Kyntola <kynde@iki.fi>
Sun, 6 Oct 2013 18:45:53 +0000 (21:45 +0300)
committerKarel Zak <kzak@redhat.com>
Tue, 22 Oct 2013 08:31:56 +0000 (10:31 +0200)
Current tests were replicated with week numbers
and some additional tests for week numbering corner cases
were added, too.

Signed-off-by: Tommi Kyntola <kynde@iki.fi>
14 files changed:
tests/expected/cal/1mw [new file with mode: 0644]
tests/expected/cal/3mw [new file with mode: 0644]
tests/expected/cal/bigyearw [new file with mode: 0644]
tests/expected/cal/colorw [new file with mode: 0644]
tests/expected/cal/sep1752w [new file with mode: 0644]
tests/expected/cal/weeknum [new file with mode: 0644]
tests/expected/cal/yearw [new file with mode: 0644]
tests/ts/cal/1mw [new file with mode: 0755]
tests/ts/cal/3mw [new file with mode: 0755]
tests/ts/cal/bigyearw [new file with mode: 0755]
tests/ts/cal/colorw [new file with mode: 0755]
tests/ts/cal/sep1752w [new file with mode: 0755]
tests/ts/cal/weeknum [new file with mode: 0755]
tests/ts/cal/yearw [new file with mode: 0755]

diff --git a/tests/expected/cal/1mw b/tests/expected/cal/1mw
new file mode 100644 (file)
index 0000000..e2980e6
--- /dev/null
@@ -0,0 +1,37 @@
+
+Gregorian - Monday-based week with week numbers
+     September 2006    
+   Mo Tu We Th Fr Sa Su
+35              1  2  3 
+36  4  5  6  7  8  9 10 
+37 11 12 13 14 15 16 17 
+38 18 19 20 21 22 23 24 
+39 25 26 27 28 29 30    
+                        
+Gregorian - Sunday-based week with week numbers
+     September 2006    
+   Su Mo Tu We Th Fr Sa
+35                 1  2 
+36  3  4  5  6  7  8  9 
+37 10 11 12 13 14 15 16 
+38 17 18 19 20 21 22 23 
+39 24 25 26 27 28 29 30 
+                        
+Julian - Monday-based week with week numbers
+        September 2006        
+   Mon Tue Wed Thu Fri Sat Sun
+35                 244 245 246 
+36 247 248 249 250 251 252 253 
+37 254 255 256 257 258 259 260 
+38 261 262 263 264 265 266 267 
+39 268 269 270 271 272 273     
+                               
+Julian - Sunday-based week with week numbers
+        September 2006        
+   Sun Mon Tue Wed Thu Fri Sat
+35                     244 245 
+36 246 247 248 249 250 251 252 
+37 253 254 255 256 257 258 259 
+38 260 261 262 263 264 265 266 
+39 267 268 269 270 271 272 273 
+                               
diff --git a/tests/expected/cal/3mw b/tests/expected/cal/3mw
new file mode 100644 (file)
index 0000000..0afea44
--- /dev/null
@@ -0,0 +1,37 @@
+
+Gregorian - Monday-based week with week numbers
+      August 2006             September 2006            October 2006     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+31     1  2  3  4  5  6  35              1  2  3  39                    1 
+32  7  8  9 10 11 12 13  36  4  5  6  7  8  9 10  40  2  3  4  5  6  7  8 
+33 14 15 16 17 18 19 20  37 11 12 13 14 15 16 17  41  9 10 11 12 13 14 15 
+34 21 22 23 24 25 26 27  38 18 19 20 21 22 23 24  42 16 17 18 19 20 21 22 
+35 28 29 30 31           39 25 26 27 28 29 30     43 23 24 25 26 27 28 29 
+                                                  44 30 31                
+Gregorian - Sunday-based week with week numbers
+      August 2006             September 2006            October 2006     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+31        1  2  3  4  5  35                 1  2  40  1  2  3  4  5  6  7 
+32  6  7  8  9 10 11 12  36  3  4  5  6  7  8  9  41  8  9 10 11 12 13 14 
+33 13 14 15 16 17 18 19  37 10 11 12 13 14 15 16  42 15 16 17 18 19 20 21 
+34 20 21 22 23 24 25 26  38 17 18 19 20 21 22 23  43 22 23 24 25 26 27 28 
+35 27 28 29 30 31        39 24 25 26 27 28 29 30  44 29 30 31             
+                                                                          
+Julian - Monday-based week with week numbers
+          August 2006                   September 2006                   October 2006         
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+31     213 214 215 216 217 218  35                 244 245 246  39                         274 
+32 219 220 221 222 223 224 225  36 247 248 249 250 251 252 253  40 275 276 277 278 279 280 281 
+33 226 227 228 229 230 231 232  37 254 255 256 257 258 259 260  41 282 283 284 285 286 287 288 
+34 233 234 235 236 237 238 239  38 261 262 263 264 265 266 267  42 289 290 291 292 293 294 295 
+35 240 241 242 243              39 268 269 270 271 272 273      43 296 297 298 299 300 301 302 
+                                                                44 303 304                     
+Julian - Sunday-based week with week numbers
+          August 2006                   September 2006                   October 2006         
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+31         213 214 215 216 217  35                     244 245  40 274 275 276 277 278 279 280 
+32 218 219 220 221 222 223 224  36 246 247 248 249 250 251 252  41 281 282 283 284 285 286 287 
+33 225 226 227 228 229 230 231  37 253 254 255 256 257 258 259  42 288 289 290 291 292 293 294 
+34 232 233 234 235 236 237 238  38 260 261 262 263 264 265 266  43 295 296 297 298 299 300 301 
+35 239 240 241 242 243          39 267 268 269 270 271 272 273  44 302 303 304                 
+                                                                                               
diff --git a/tests/expected/cal/bigyearw b/tests/expected/cal/bigyearw
new file mode 100644 (file)
index 0000000..61bf92f
--- /dev/null
@@ -0,0 +1,257 @@
+
+Gregorian - Monday-based month with week numbers
+        December       
+  1234567890123456789  
+   Mo Tu We Th Fr Sa Su
+48              1  2  3 
+49  4  5  6  7  8  9 10 
+50 11 12 13 14 15 16 17 
+51 18 19 20 21 22 23 24 
+52 25 26 27 28 29 30 31 
+                        
+Gregorian - Sunday-based month with week numbers
+        December       
+  1234567890123456789  
+   Su Mo Tu We Th Fr Sa
+48                 1  2 
+49  3  4  5  6  7  8  9 
+50 10 11 12 13 14 15 16 
+51 17 18 19 20 21 22 23 
+52 24 25 26 27 28 29 30 
+53 31                   
+Julian - Monday-based month with week numbers
+           December           
+      1234567890123456789     
+   Mon Tue Wed Thu Fri Sat Sun
+48                 335 336 337 
+49 338 339 340 341 342 343 344 
+50 345 346 347 348 349 350 351 
+51 352 353 354 355 356 357 358 
+52 359 360 361 362 363 364 365 
+                               
+Julian - Sunday-based month with week numbers
+           December           
+      1234567890123456789     
+   Sun Mon Tue Wed Thu Fri Sat
+48                     335 336 
+49 337 338 339 340 341 342 343 
+50 344 345 346 347 348 349 350 
+51 351 352 353 354 355 356 357 
+52 358 359 360 361 362 363 364 
+53 365                         
+Gregorian - Monday-based three months with week numbers
+        November                 December                 January        
+  1234567890123456789      1234567890123456789      1234567890123456790  
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+44        1  2  3  4  5  48              1  2  3   1  1  2  3  4  5  6  7 
+45  6  7  8  9 10 11 12  49  4  5  6  7  8  9 10   2  8  9 10 11 12 13 14 
+46 13 14 15 16 17 18 19  50 11 12 13 14 15 16 17   3 15 16 17 18 19 20 21 
+47 20 21 22 23 24 25 26  51 18 19 20 21 22 23 24   4 22 23 24 25 26 27 28 
+48 27 28 29 30           52 25 26 27 28 29 30 31   5 29 30 31             
+                                                                          
+Gregorian - Sunday-based three months with week numbers
+        November                 December                 January        
+  1234567890123456789      1234567890123456789      1234567890123456790  
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+44           1  2  3  4  48                 1  2  53     1  2  3  4  5  6 
+45  5  6  7  8  9 10 11  49  3  4  5  6  7  8  9   1  7  8  9 10 11 12 13 
+46 12 13 14 15 16 17 18  50 10 11 12 13 14 15 16   2 14 15 16 17 18 19 20 
+47 19 20 21 22 23 24 25  51 17 18 19 20 21 22 23   3 21 22 23 24 25 26 27 
+48 26 27 28 29 30        52 24 25 26 27 28 29 30   4 28 29 30 31          
+                         53 31                                            
+Julian - Monday-based three months with week numbers
+           November                        December                         January           
+      1234567890123456789             1234567890123456789             1234567890123456790     
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+44         305 306 307 308 309  48                 335 336 337   1   1   2   3   4   5   6   7 
+45 310 311 312 313 314 315 316  49 338 339 340 341 342 343 344   2   8   9  10  11  12  13  14 
+46 317 318 319 320 321 322 323  50 345 346 347 348 349 350 351   3  15  16  17  18  19  20  21 
+47 324 325 326 327 328 329 330  51 352 353 354 355 356 357 358   4  22  23  24  25  26  27  28 
+48 331 332 333 334              52 359 360 361 362 363 364 365   5  29  30  31                 
+                                                                                               
+Julian - Sunday-based three months with week numbers
+           November                        December                         January           
+      1234567890123456789             1234567890123456789             1234567890123456790     
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+44             305 306 307 308  48                     335 336  53       1   2   3   4   5   6 
+45 309 310 311 312 313 314 315  49 337 338 339 340 341 342 343   1   7   8   9  10  11  12  13 
+46 316 317 318 319 320 321 322  50 344 345 346 347 348 349 350   2  14  15  16  17  18  19  20 
+47 323 324 325 326 327 328 329  51 351 352 353 354 355 356 357   3  21  22  23  24  25  26  27 
+48 330 331 332 333 334          52 358 359 360 361 362 363 364   4  28  29  30  31             
+                                53 365                                                         
+Gregorian - Monday-based year with week numbers
+                            1234567890123456789                            
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+52                    1    5        1  2  3  4  5    9        1  2  3  4  5   
+ 1  2  3  4  5  6  7  8    6  6  7  8  9 10 11 12   10  6  7  8  9 10 11 12   
+ 2  9 10 11 12 13 14 15    7 13 14 15 16 17 18 19   11 13 14 15 16 17 18 19   
+ 3 16 17 18 19 20 21 22    8 20 21 22 23 24 25 26   12 20 21 22 23 24 25 26   
+ 4 23 24 25 26 27 28 29    9 27 28                  13 27 28 29 30 31         
+ 5 30 31                                                                      
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+13                 1  2   18  1  2  3  4  5  6  7   22           1  2  3  4   
+14  3  4  5  6  7  8  9   19  8  9 10 11 12 13 14   23  5  6  7  8  9 10 11   
+15 10 11 12 13 14 15 16   20 15 16 17 18 19 20 21   24 12 13 14 15 16 17 18   
+16 17 18 19 20 21 22 23   21 22 23 24 25 26 27 28   25 19 20 21 22 23 24 25   
+17 24 25 26 27 28 29 30   22 29 30 31               26 26 27 28 29 30         
+                                                                              
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+26                 1  2   31     1  2  3  4  5  6   35              1  2  3   
+27  3  4  5  6  7  8  9   32  7  8  9 10 11 12 13   36  4  5  6  7  8  9 10   
+28 10 11 12 13 14 15 16   33 14 15 16 17 18 19 20   37 11 12 13 14 15 16 17   
+29 17 18 19 20 21 22 23   34 21 22 23 24 25 26 27   38 18 19 20 21 22 23 24   
+30 24 25 26 27 28 29 30   35 28 29 30 31            39 25 26 27 28 29 30      
+31 31                                                                         
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+39                    1   44        1  2  3  4  5   48              1  2  3   
+40  2  3  4  5  6  7  8   45  6  7  8  9 10 11 12   49  4  5  6  7  8  9 10   
+41  9 10 11 12 13 14 15   46 13 14 15 16 17 18 19   50 11 12 13 14 15 16 17   
+42 16 17 18 19 20 21 22   47 20 21 22 23 24 25 26   51 18 19 20 21 22 23 24   
+43 23 24 25 26 27 28 29   48 27 28 29 30            52 25 26 27 28 29 30 31   
+44 30 31                                                                      
+
+Gregorian - Sunday-based year with week numbers
+                            1234567890123456789                            
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+ 1  1  2  3  4  5  6  7    5           1  2  3  4    9           1  2  3  4   
+ 2  8  9 10 11 12 13 14    6  5  6  7  8  9 10 11   10  5  6  7  8  9 10 11   
+ 3 15 16 17 18 19 20 21    7 12 13 14 15 16 17 18   11 12 13 14 15 16 17 18   
+ 4 22 23 24 25 26 27 28    8 19 20 21 22 23 24 25   12 19 20 21 22 23 24 25   
+ 5 29 30 31                9 26 27 28               13 26 27 28 29 30 31      
+                                                                              
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13                    1   18     1  2  3  4  5  6   22              1  2  3   
+14  2  3  4  5  6  7  8   19  7  8  9 10 11 12 13   23  4  5  6  7  8  9 10   
+15  9 10 11 12 13 14 15   20 14 15 16 17 18 19 20   24 11 12 13 14 15 16 17   
+16 16 17 18 19 20 21 22   21 21 22 23 24 25 26 27   25 18 19 20 21 22 23 24   
+17 23 24 25 26 27 28 29   22 28 29 30 31            26 25 26 27 28 29 30      
+18 30                                                                         
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26                    1   31        1  2  3  4  5   35                 1  2   
+27  2  3  4  5  6  7  8   32  6  7  8  9 10 11 12   36  3  4  5  6  7  8  9   
+28  9 10 11 12 13 14 15   33 13 14 15 16 17 18 19   37 10 11 12 13 14 15 16   
+29 16 17 18 19 20 21 22   34 20 21 22 23 24 25 26   38 17 18 19 20 21 22 23   
+30 23 24 25 26 27 28 29   35 27 28 29 30 31         39 24 25 26 27 28 29 30   
+31 30 31                                                                      
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+40  1  2  3  4  5  6  7   44           1  2  3  4   48                 1  2   
+41  8  9 10 11 12 13 14   45  5  6  7  8  9 10 11   49  3  4  5  6  7  8  9   
+42 15 16 17 18 19 20 21   46 12 13 14 15 16 17 18   50 10 11 12 13 14 15 16   
+43 22 23 24 25 26 27 28   47 19 20 21 22 23 24 25   51 17 18 19 20 21 22 23   
+44 29 30 31               48 26 27 28 29 30         52 24 25 26 27 28 29 30   
+                                                    53 31                     
+
+Julian - Monday-based year with week numbers
+                      1234567890123456789                      
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+52                           1    5          32  33  34  35  36   
+ 1   2   3   4   5   6   7   8    6  37  38  39  40  41  42  43   
+ 2   9  10  11  12  13  14  15    7  44  45  46  47  48  49  50   
+ 3  16  17  18  19  20  21  22    8  51  52  53  54  55  56  57   
+ 4  23  24  25  26  27  28  29    9  58  59                       
+ 5  30  31                                                        
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9          60  61  62  63  64   13                      91  92   
+10  65  66  67  68  69  70  71   14  93  94  95  96  97  98  99   
+11  72  73  74  75  76  77  78   15 100 101 102 103 104 105 106   
+12  79  80  81  82  83  84  85   16 107 108 109 110 111 112 113   
+13  86  87  88  89  90           17 114 115 116 117 118 119 120   
+                                                                  
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18 121 122 123 124 125 126 127   22             152 153 154 155   
+19 128 129 130 131 132 133 134   23 156 157 158 159 160 161 162   
+20 135 136 137 138 139 140 141   24 163 164 165 166 167 168 169   
+21 142 143 144 145 146 147 148   25 170 171 172 173 174 175 176   
+22 149 150 151                   26 177 178 179 180 181           
+                                                                  
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+26                     182 183   31     213 214 215 216 217 218   
+27 184 185 186 187 188 189 190   32 219 220 221 222 223 224 225   
+28 191 192 193 194 195 196 197   33 226 227 228 229 230 231 232   
+29 198 199 200 201 202 203 204   34 233 234 235 236 237 238 239   
+30 205 206 207 208 209 210 211   35 240 241 242 243               
+31 212                                                            
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+35                 244 245 246   39                         274   
+36 247 248 249 250 251 252 253   40 275 276 277 278 279 280 281   
+37 254 255 256 257 258 259 260   41 282 283 284 285 286 287 288   
+38 261 262 263 264 265 266 267   42 289 290 291 292 293 294 295   
+39 268 269 270 271 272 273       43 296 297 298 299 300 301 302   
+                                 44 303 304                       
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44         305 306 307 308 309   48                 335 336 337   
+45 310 311 312 313 314 315 316   49 338 339 340 341 342 343 344   
+46 317 318 319 320 321 322 323   50 345 346 347 348 349 350 351   
+47 324 325 326 327 328 329 330   51 352 353 354 355 356 357 358   
+48 331 332 333 334               52 359 360 361 362 363 364 365   
+                                                                  
+
+Julian - Sunday-based year with week numbers
+                      1234567890123456789                      
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 1   1   2   3   4   5   6   7    5              32  33  34  35   
+ 2   8   9  10  11  12  13  14    6  36  37  38  39  40  41  42   
+ 3  15  16  17  18  19  20  21    7  43  44  45  46  47  48  49   
+ 4  22  23  24  25  26  27  28    8  50  51  52  53  54  55  56   
+ 5  29  30  31                    9  57  58  59                   
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 9              60  61  62  63   13                          91   
+10  64  65  66  67  68  69  70   14  92  93  94  95  96  97  98   
+11  71  72  73  74  75  76  77   15  99 100 101 102 103 104 105   
+12  78  79  80  81  82  83  84   16 106 107 108 109 110 111 112   
+13  85  86  87  88  89  90       17 113 114 115 116 117 118 119   
+                                 18 120                           
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+18     121 122 123 124 125 126   22                 152 153 154   
+19 127 128 129 130 131 132 133   23 155 156 157 158 159 160 161   
+20 134 135 136 137 138 139 140   24 162 163 164 165 166 167 168   
+21 141 142 143 144 145 146 147   25 169 170 171 172 173 174 175   
+22 148 149 150 151               26 176 177 178 179 180 181       
+                                                                  
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26                         182   31         213 214 215 216 217   
+27 183 184 185 186 187 188 189   32 218 219 220 221 222 223 224   
+28 190 191 192 193 194 195 196   33 225 226 227 228 229 230 231   
+29 197 198 199 200 201 202 203   34 232 233 234 235 236 237 238   
+30 204 205 206 207 208 209 210   35 239 240 241 242 243           
+31 211 212                                                        
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35                     244 245   40 274 275 276 277 278 279 280   
+36 246 247 248 249 250 251 252   41 281 282 283 284 285 286 287   
+37 253 254 255 256 257 258 259   42 288 289 290 291 292 293 294   
+38 260 261 262 263 264 265 266   43 295 296 297 298 299 300 301   
+39 267 268 269 270 271 272 273   44 302 303 304                   
+                                                                  
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+44             305 306 307 308   48                     335 336   
+45 309 310 311 312 313 314 315   49 337 338 339 340 341 342 343   
+46 316 317 318 319 320 321 322   50 344 345 346 347 348 349 350   
+47 323 324 325 326 327 328 329   51 351 352 353 354 355 356 357   
+48 330 331 332 333 334           52 358 359 360 361 362 363 364   
+                                 53 365                           
+
diff --git a/tests/expected/cal/colorw b/tests/expected/cal/colorw
new file mode 100644 (file)
index 0000000..0cb7bbf
--- /dev/null
@@ -0,0 +1,55 @@
+
+First day with week numbers
+       January 1       
+   Su Mo Tu We Th Fr Sa
+52                   \e[7m 1\e[27m 
+ 1  2  3  4  5  6  7  8 
+ 2  9 10 11 12 13 14 15 
+ 3 16 17 18 19 20 21 22 
+ 4 23 24 25 26 27 28 29 
+ 5 30 31                
+Reformation corner cases 1 with week numbers
+     September 1752    
+   Su Mo Tu We Th Fr Sa
+35        1 \e[7m 2\e[27m 14 15 16 
+36 17 18 19 20 21 22 23 
+37 24 25 26 27 28 29 30 
+                        
+                        
+                        
+Reformation corner cases 2 with week numbers
+     September 1752    
+   Su Mo Tu We Th Fr Sa
+35        1  2 14 15 16 
+36 17 18 19 20 21 22 23 
+37 24 25 26 27 28 29 30 
+                        
+                        
+                        
+Reformation corner cases 3 with week numbers
+     September 1752    
+   Su Mo Tu We Th Fr Sa
+35        1  2 14 15 16 
+36 17 18 19 20 21 22 23 
+37 24 25 26 27 28 29 30 
+                        
+                        
+                        
+Reformation corner cases 4 with week numbers
+     September 1752    
+   Su Mo Tu We Th Fr Sa
+35        1  2 \e[7m14\e[27m 15 16 
+36 17 18 19 20 21 22 23 
+37 24 25 26 27 28 29 30 
+                        
+                        
+                        
+Last day with week numbers
+     November 9999            December 9999            January 10000     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+44     1  2  3  4  5  6  48           1  2  3  4  52                    1 
+45  7  8  9 10 11 12 13  49  5  6  7  8  9 10 11   1  2  3  4  5  6  7  8 
+46 14 15 16 17 18 19 20  50 12 13 14 15 16 17 18   2  9 10 11 12 13 14 15 
+47 21 22 23 24 25 26 27  51 19 20 21 22 23 24 25   3 16 17 18 19 20 21 22 
+48 28 29 30              52 26 27 28 29 30 \e[7m31\e[27m      4 23 24 25 26 27 28 29 
+                                                   5 30 31                
diff --git a/tests/expected/cal/sep1752w b/tests/expected/cal/sep1752w
new file mode 100644 (file)
index 0000000..97c889a
--- /dev/null
@@ -0,0 +1,249 @@
+
+Gregorian - Monday-based month with week numbers
+     September 1752    
+   Mo Tu We Th Fr Sa Su
+36     1  2 14 15 16 17 
+37 18 19 20 21 22 23 24 
+38 25 26 27 28 29 30    
+                        
+                        
+                        
+Gregorian - Sunday-based month with week numbers
+     September 1752    
+   Su Mo Tu We Th Fr Sa
+35        1  2 14 15 16 
+36 17 18 19 20 21 22 23 
+37 24 25 26 27 28 29 30 
+                        
+                        
+                        
+Julian - Monday-based month with week numbers
+        September 1752        
+   Mon Tue Wed Thu Fri Sat Sun
+36     245 246 258 259 260 261 
+37 262 263 264 265 266 267 268 
+38 269 270 271 272 273 274     
+                               
+                               
+                               
+Julian - Sunday-based month with week numbers
+        September 1752        
+   Sun Mon Tue Wed Thu Fri Sat
+35         245 246 258 259 260 
+36 261 262 263 264 265 266 267 
+37 268 269 270 271 272 273 274 
+                               
+                               
+                               
+Gregorian - Monday-based three months with week numbers
+      August 1752             September 1752            October 1752     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+31                 1  2  36     1  2 14 15 16 17  38                    1 
+32  3  4  5  6  7  8  9  37 18 19 20 21 22 23 24  39  2  3  4  5  6  7  8 
+33 10 11 12 13 14 15 16  38 25 26 27 28 29 30     40  9 10 11 12 13 14 15 
+34 17 18 19 20 21 22 23                           41 16 17 18 19 20 21 22 
+35 24 25 26 27 28 29 30                           42 23 24 25 26 27 28 29 
+36 31                                             43 30 31                
+Gregorian - Sunday-based three months with week numbers
+      August 1752             September 1752            October 1752     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+30                    1  35        1  2 14 15 16  38  1  2  3  4  5  6  7 
+31  2  3  4  5  6  7  8  36 17 18 19 20 21 22 23  39  8  9 10 11 12 13 14 
+32  9 10 11 12 13 14 15  37 24 25 26 27 28 29 30  40 15 16 17 18 19 20 21 
+33 16 17 18 19 20 21 22                           41 22 23 24 25 26 27 28 
+34 23 24 25 26 27 28 29                           42 29 30 31             
+35 30 31                                                                  
+Julian - Monday-based three months with week numbers
+          August 1752                   September 1752                   October 1752         
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+31                     214 215  36     245 246 258 259 260 261  38                         275 
+32 216 217 218 219 220 221 222  37 262 263 264 265 266 267 268  39 276 277 278 279 280 281 282 
+33 223 224 225 226 227 228 229  38 269 270 271 272 273 274      40 283 284 285 286 287 288 289 
+34 230 231 232 233 234 235 236                                  41 290 291 292 293 294 295 296 
+35 237 238 239 240 241 242 243                                  42 297 298 299 300 301 302 303 
+36 244                                                          43 304 305                     
+Julian - Sunday-based three months with week numbers
+          August 1752                   September 1752                   October 1752         
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+30                         214  35         245 246 258 259 260  38 275 276 277 278 279 280 281 
+31 215 216 217 218 219 220 221  36 261 262 263 264 265 266 267  39 282 283 284 285 286 287 288 
+32 222 223 224 225 226 227 228  37 268 269 270 271 272 273 274  40 289 290 291 292 293 294 295 
+33 229 230 231 232 233 234 235                                  41 296 297 298 299 300 301 302 
+34 236 237 238 239 240 241 242                                  42 303 304 305                 
+35 243 244                                                                                     
+Gregorian - Monday-based year with week numbers
+                                    1752                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+ 1        1  2  3  4  5    5                 1  2    9                    1   
+ 2  6  7  8  9 10 11 12    6  3  4  5  6  7  8  9   10  2  3  4  5  6  7  8   
+ 3 13 14 15 16 17 18 19    7 10 11 12 13 14 15 16   11  9 10 11 12 13 14 15   
+ 4 20 21 22 23 24 25 26    8 17 18 19 20 21 22 23   12 16 17 18 19 20 21 22   
+ 5 27 28 29 30 31          9 24 25 26 27 28 29      13 23 24 25 26 27 28 29   
+                                                    14 30 31                  
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+14        1  2  3  4  5   18              1  2  3   23  1  2  3  4  5  6  7   
+15  6  7  8  9 10 11 12   19  4  5  6  7  8  9 10   24  8  9 10 11 12 13 14   
+16 13 14 15 16 17 18 19   20 11 12 13 14 15 16 17   25 15 16 17 18 19 20 21   
+17 20 21 22 23 24 25 26   21 18 19 20 21 22 23 24   26 22 23 24 25 26 27 28   
+18 27 28 29 30            22 25 26 27 28 29 30 31   27 29 30                  
+                                                                              
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+27        1  2  3  4  5   31                 1  2   36     1  2 14 15 16 17   
+28  6  7  8  9 10 11 12   32  3  4  5  6  7  8  9   37 18 19 20 21 22 23 24   
+29 13 14 15 16 17 18 19   33 10 11 12 13 14 15 16   38 25 26 27 28 29 30      
+30 20 21 22 23 24 25 26   34 17 18 19 20 21 22 23                             
+31 27 28 29 30 31         35 24 25 26 27 28 29 30                             
+                          36 31                                               
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+38                    1   43        1  2  3  4  5   47              1  2  3   
+39  2  3  4  5  6  7  8   44  6  7  8  9 10 11 12   48  4  5  6  7  8  9 10   
+40  9 10 11 12 13 14 15   45 13 14 15 16 17 18 19   49 11 12 13 14 15 16 17   
+41 16 17 18 19 20 21 22   46 20 21 22 23 24 25 26   50 18 19 20 21 22 23 24   
+42 23 24 25 26 27 28 29   47 27 28 29 30            51 25 26 27 28 29 30 31   
+43 30 31                                                                      
+
+Gregorian - Sunday-based year with week numbers
+                                    1752                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+52           1  2  3  4    4                    1    9  1  2  3  4  5  6  7   
+ 1  5  6  7  8  9 10 11    5  2  3  4  5  6  7  8   10  8  9 10 11 12 13 14   
+ 2 12 13 14 15 16 17 18    6  9 10 11 12 13 14 15   11 15 16 17 18 19 20 21   
+ 3 19 20 21 22 23 24 25    7 16 17 18 19 20 21 22   12 22 23 24 25 26 27 28   
+ 4 26 27 28 29 30 31       8 23 24 25 26 27 28 29   13 29 30 31               
+                                                                              
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13           1  2  3  4   17                 1  2   22     1  2  3  4  5  6   
+14  5  6  7  8  9 10 11   18  3  4  5  6  7  8  9   23  7  8  9 10 11 12 13   
+15 12 13 14 15 16 17 18   19 10 11 12 13 14 15 16   24 14 15 16 17 18 19 20   
+16 19 20 21 22 23 24 25   20 17 18 19 20 21 22 23   25 21 22 23 24 25 26 27   
+17 26 27 28 29 30         21 24 25 26 27 28 29 30   26 28 29 30               
+                          22 31                                               
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26           1  2  3  4   30                    1   35        1  2 14 15 16   
+27  5  6  7  8  9 10 11   31  2  3  4  5  6  7  8   36 17 18 19 20 21 22 23   
+28 12 13 14 15 16 17 18   32  9 10 11 12 13 14 15   37 24 25 26 27 28 29 30   
+29 19 20 21 22 23 24 25   33 16 17 18 19 20 21 22                             
+30 26 27 28 29 30 31      34 23 24 25 26 27 28 29                             
+                          35 30 31                                            
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+38  1  2  3  4  5  6  7   42           1  2  3  4   46                 1  2   
+39  8  9 10 11 12 13 14   43  5  6  7  8  9 10 11   47  3  4  5  6  7  8  9   
+40 15 16 17 18 19 20 21   44 12 13 14 15 16 17 18   48 10 11 12 13 14 15 16   
+41 22 23 24 25 26 27 28   45 19 20 21 22 23 24 25   49 17 18 19 20 21 22 23   
+42 29 30 31               46 26 27 28 29 30         50 24 25 26 27 28 29 30   
+                                                    51 31                     
+
+Julian - Monday-based year with week numbers
+                              1752                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 1           1   2   3   4   5    5                      32  33   
+ 2   6   7   8   9  10  11  12    6  34  35  36  37  38  39  40   
+ 3  13  14  15  16  17  18  19    7  41  42  43  44  45  46  47   
+ 4  20  21  22  23  24  25  26    8  48  49  50  51  52  53  54   
+ 5  27  28  29  30  31            9  55  56  57  58  59  60       
+                                                                  
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9                          61   14          92  93  94  95  96   
+10  62  63  64  65  66  67  68   15  97  98  99 100 101 102 103   
+11  69  70  71  72  73  74  75   16 104 105 106 107 108 109 110   
+12  76  77  78  79  80  81  82   17 111 112 113 114 115 116 117   
+13  83  84  85  86  87  88  89   18 118 119 120 121               
+14  90  91                                                        
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18                 122 123 124   23 153 154 155 156 157 158 159   
+19 125 126 127 128 129 130 131   24 160 161 162 163 164 165 166   
+20 132 133 134 135 136 137 138   25 167 168 169 170 171 172 173   
+21 139 140 141 142 143 144 145   26 174 175 176 177 178 179 180   
+22 146 147 148 149 150 151 152   27 181 182                       
+                                                                  
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+27         183 184 185 186 187   31                     214 215   
+28 188 189 190 191 192 193 194   32 216 217 218 219 220 221 222   
+29 195 196 197 198 199 200 201   33 223 224 225 226 227 228 229   
+30 202 203 204 205 206 207 208   34 230 231 232 233 234 235 236   
+31 209 210 211 212 213           35 237 238 239 240 241 242 243   
+                                 36 244                           
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+36     245 246 258 259 260 261   38                         275   
+37 262 263 264 265 266 267 268   39 276 277 278 279 280 281 282   
+38 269 270 271 272 273 274       40 283 284 285 286 287 288 289   
+                                 41 290 291 292 293 294 295 296   
+                                 42 297 298 299 300 301 302 303   
+                                 43 304 305                       
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+43         306 307 308 309 310   47                 336 337 338   
+44 311 312 313 314 315 316 317   48 339 340 341 342 343 344 345   
+45 318 319 320 321 322 323 324   49 346 347 348 349 350 351 352   
+46 325 326 327 328 329 330 331   50 353 354 355 356 357 358 359   
+47 332 333 334 335               51 360 361 362 363 364 365 366   
+                                                                  
+
+Julian - Sunday-based year with week numbers
+                              1752                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+52               1   2   3   4    4                          32   
+ 1   5   6   7   8   9  10  11    5  33  34  35  36  37  38  39   
+ 2  12  13  14  15  16  17  18    6  40  41  42  43  44  45  46   
+ 3  19  20  21  22  23  24  25    7  47  48  49  50  51  52  53   
+ 4  26  27  28  29  30  31        8  54  55  56  57  58  59  60   
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 9  61  62  63  64  65  66  67   13              92  93  94  95   
+10  68  69  70  71  72  73  74   14  96  97  98  99 100 101 102   
+11  75  76  77  78  79  80  81   15 103 104 105 106 107 108 109   
+12  82  83  84  85  86  87  88   16 110 111 112 113 114 115 116   
+13  89  90  91                   17 117 118 119 120 121           
+                                                                  
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+17                     122 123   22     153 154 155 156 157 158   
+18 124 125 126 127 128 129 130   23 159 160 161 162 163 164 165   
+19 131 132 133 134 135 136 137   24 166 167 168 169 170 171 172   
+20 138 139 140 141 142 143 144   25 173 174 175 176 177 178 179   
+21 145 146 147 148 149 150 151   26 180 181 182                   
+22 152                                                            
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26             183 184 185 186   30                         214   
+27 187 188 189 190 191 192 193   31 215 216 217 218 219 220 221   
+28 194 195 196 197 198 199 200   32 222 223 224 225 226 227 228   
+29 201 202 203 204 205 206 207   33 229 230 231 232 233 234 235   
+30 208 209 210 211 212 213       34 236 237 238 239 240 241 242   
+                                 35 243 244                       
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35         245 246 258 259 260   38 275 276 277 278 279 280 281   
+36 261 262 263 264 265 266 267   39 282 283 284 285 286 287 288   
+37 268 269 270 271 272 273 274   40 289 290 291 292 293 294 295   
+                                 41 296 297 298 299 300 301 302   
+                                 42 303 304 305                   
+                                                                  
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+42             306 307 308 309   46                     336 337   
+43 310 311 312 313 314 315 316   47 338 339 340 341 342 343 344   
+44 317 318 319 320 321 322 323   48 345 346 347 348 349 350 351   
+45 324 325 326 327 328 329 330   49 352 353 354 355 356 357 358   
+46 331 332 333 334 335           50 359 360 361 362 363 364 365   
+                                 51 366                           
+
diff --git a/tests/expected/cal/weeknum b/tests/expected/cal/weeknum
new file mode 100644 (file)
index 0000000..d7de54c
--- /dev/null
@@ -0,0 +1,1485 @@
+
+Gregorian - Monday-based week with week numbers - year 2001
+                                    2001                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+ 1  1  2  3  4  5  6  7    5           1  2  3  4    9           1  2  3  4   
+ 2  8  9 10 11 12 13 14    6  5  6  7  8  9 10 11   10  5  6  7  8  9 10 11   
+ 3 15 16 17 18 19 20 21    7 12 13 14 15 16 17 18   11 12 13 14 15 16 17 18   
+ 4 22 23 24 25 26 27 28    8 19 20 21 22 23 24 25   12 19 20 21 22 23 24 25   
+ 5 29 30 31                9 26 27 28               13 26 27 28 29 30 31      
+                                                                              
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+13                    1   18     1  2  3  4  5  6   22              1  2  3   
+14  2  3  4  5  6  7  8   19  7  8  9 10 11 12 13   23  4  5  6  7  8  9 10   
+15  9 10 11 12 13 14 15   20 14 15 16 17 18 19 20   24 11 12 13 14 15 16 17   
+16 16 17 18 19 20 21 22   21 21 22 23 24 25 26 27   25 18 19 20 21 22 23 24   
+17 23 24 25 26 27 28 29   22 28 29 30 31            26 25 26 27 28 29 30      
+18 30                                                                         
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+26                    1   31        1  2  3  4  5   35                 1  2   
+27  2  3  4  5  6  7  8   32  6  7  8  9 10 11 12   36  3  4  5  6  7  8  9   
+28  9 10 11 12 13 14 15   33 13 14 15 16 17 18 19   37 10 11 12 13 14 15 16   
+29 16 17 18 19 20 21 22   34 20 21 22 23 24 25 26   38 17 18 19 20 21 22 23   
+30 23 24 25 26 27 28 29   35 27 28 29 30 31         39 24 25 26 27 28 29 30   
+31 30 31                                                                      
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+40  1  2  3  4  5  6  7   44           1  2  3  4   48                 1  2   
+41  8  9 10 11 12 13 14   45  5  6  7  8  9 10 11   49  3  4  5  6  7  8  9   
+42 15 16 17 18 19 20 21   46 12 13 14 15 16 17 18   50 10 11 12 13 14 15 16   
+43 22 23 24 25 26 27 28   47 19 20 21 22 23 24 25   51 17 18 19 20 21 22 23   
+44 29 30 31               48 26 27 28 29 30         52 24 25 26 27 28 29 30   
+                                                     1 31                     
+
+Gregorian - Sunday-based week with week numbers - year 2001
+                                    2001                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+53     1  2  3  4  5  6    4              1  2  3    8              1  2  3   
+ 1  7  8  9 10 11 12 13    5  4  5  6  7  8  9 10    9  4  5  6  7  8  9 10   
+ 2 14 15 16 17 18 19 20    6 11 12 13 14 15 16 17   10 11 12 13 14 15 16 17   
+ 3 21 22 23 24 25 26 27    7 18 19 20 21 22 23 24   11 18 19 20 21 22 23 24   
+ 4 28 29 30 31             8 25 26 27 28            12 25 26 27 28 29 30 31   
+                                                                              
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13  1  2  3  4  5  6  7   17        1  2  3  4  5   21                 1  2   
+14  8  9 10 11 12 13 14   18  6  7  8  9 10 11 12   22  3  4  5  6  7  8  9   
+15 15 16 17 18 19 20 21   19 13 14 15 16 17 18 19   23 10 11 12 13 14 15 16   
+16 22 23 24 25 26 27 28   20 20 21 22 23 24 25 26   24 17 18 19 20 21 22 23   
+17 29 30                  21 27 28 29 30 31         25 24 25 26 27 28 29 30   
+                                                                              
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26  1  2  3  4  5  6  7   30           1  2  3  4   34                    1   
+27  8  9 10 11 12 13 14   31  5  6  7  8  9 10 11   35  2  3  4  5  6  7  8   
+28 15 16 17 18 19 20 21   32 12 13 14 15 16 17 18   36  9 10 11 12 13 14 15   
+29 22 23 24 25 26 27 28   33 19 20 21 22 23 24 25   37 16 17 18 19 20 21 22   
+30 29 30 31               34 26 27 28 29 30 31      38 23 24 25 26 27 28 29   
+                                                    39 30                     
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+39     1  2  3  4  5  6   43              1  2  3   47                    1   
+40  7  8  9 10 11 12 13   44  4  5  6  7  8  9 10   48  2  3  4  5  6  7  8   
+41 14 15 16 17 18 19 20   45 11 12 13 14 15 16 17   49  9 10 11 12 13 14 15   
+42 21 22 23 24 25 26 27   46 18 19 20 21 22 23 24   50 16 17 18 19 20 21 22   
+43 28 29 30 31            47 25 26 27 28 29 30      51 23 24 25 26 27 28 29   
+                                                    52 30 31                  
+
+Julian - Monday-based week with week numbers - year 2001
+                              2001                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 1   1   2   3   4   5   6   7    5              32  33  34  35   
+ 2   8   9  10  11  12  13  14    6  36  37  38  39  40  41  42   
+ 3  15  16  17  18  19  20  21    7  43  44  45  46  47  48  49   
+ 4  22  23  24  25  26  27  28    8  50  51  52  53  54  55  56   
+ 5  29  30  31                    9  57  58  59                   
+                                                                  
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9              60  61  62  63   13                          91   
+10  64  65  66  67  68  69  70   14  92  93  94  95  96  97  98   
+11  71  72  73  74  75  76  77   15  99 100 101 102 103 104 105   
+12  78  79  80  81  82  83  84   16 106 107 108 109 110 111 112   
+13  85  86  87  88  89  90       17 113 114 115 116 117 118 119   
+                                 18 120                           
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18     121 122 123 124 125 126   22                 152 153 154   
+19 127 128 129 130 131 132 133   23 155 156 157 158 159 160 161   
+20 134 135 136 137 138 139 140   24 162 163 164 165 166 167 168   
+21 141 142 143 144 145 146 147   25 169 170 171 172 173 174 175   
+22 148 149 150 151               26 176 177 178 179 180 181       
+                                                                  
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+26                         182   31         213 214 215 216 217   
+27 183 184 185 186 187 188 189   32 218 219 220 221 222 223 224   
+28 190 191 192 193 194 195 196   33 225 226 227 228 229 230 231   
+29 197 198 199 200 201 202 203   34 232 233 234 235 236 237 238   
+30 204 205 206 207 208 209 210   35 239 240 241 242 243           
+31 211 212                                                        
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+35                     244 245   40 274 275 276 277 278 279 280   
+36 246 247 248 249 250 251 252   41 281 282 283 284 285 286 287   
+37 253 254 255 256 257 258 259   42 288 289 290 291 292 293 294   
+38 260 261 262 263 264 265 266   43 295 296 297 298 299 300 301   
+39 267 268 269 270 271 272 273   44 302 303 304                   
+                                                                  
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44             305 306 307 308   48                     335 336   
+45 309 310 311 312 313 314 315   49 337 338 339 340 341 342 343   
+46 316 317 318 319 320 321 322   50 344 345 346 347 348 349 350   
+47 323 324 325 326 327 328 329   51 351 352 353 354 355 356 357   
+48 330 331 332 333 334           52 358 359 360 361 362 363 364   
+                                  1 365                           
+
+Julian - Sunday-based week with week numbers - year 2001
+                              2001                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+53       1   2   3   4   5   6    4                  32  33  34   
+ 1   7   8   9  10  11  12  13    5  35  36  37  38  39  40  41   
+ 2  14  15  16  17  18  19  20    6  42  43  44  45  46  47  48   
+ 3  21  22  23  24  25  26  27    7  49  50  51  52  53  54  55   
+ 4  28  29  30  31                8  56  57  58  59               
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 8                  60  61  62   13  91  92  93  94  95  96  97   
+ 9  63  64  65  66  67  68  69   14  98  99 100 101 102 103 104   
+10  70  71  72  73  74  75  76   15 105 106 107 108 109 110 111   
+11  77  78  79  80  81  82  83   16 112 113 114 115 116 117 118   
+12  84  85  86  87  88  89  90   17 119 120                       
+                                                                  
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+17         121 122 123 124 125   21                     152 153   
+18 126 127 128 129 130 131 132   22 154 155 156 157 158 159 160   
+19 133 134 135 136 137 138 139   23 161 162 163 164 165 166 167   
+20 140 141 142 143 144 145 146   24 168 169 170 171 172 173 174   
+21 147 148 149 150 151           25 175 176 177 178 179 180 181   
+                                                                  
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26 182 183 184 185 186 187 188   30             213 214 215 216   
+27 189 190 191 192 193 194 195   31 217 218 219 220 221 222 223   
+28 196 197 198 199 200 201 202   32 224 225 226 227 228 229 230   
+29 203 204 205 206 207 208 209   33 231 232 233 234 235 236 237   
+30 210 211 212                   34 238 239 240 241 242 243       
+                                                                  
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+34                         244   39     274 275 276 277 278 279   
+35 245 246 247 248 249 250 251   40 280 281 282 283 284 285 286   
+36 252 253 254 255 256 257 258   41 287 288 289 290 291 292 293   
+37 259 260 261 262 263 264 265   42 294 295 296 297 298 299 300   
+38 266 267 268 269 270 271 272   43 301 302 303 304               
+39 273                                                            
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+43                 305 306 307   47                         335   
+44 308 309 310 311 312 313 314   48 336 337 338 339 340 341 342   
+45 315 316 317 318 319 320 321   49 343 344 345 346 347 348 349   
+46 322 323 324 325 326 327 328   50 350 351 352 353 354 355 356   
+47 329 330 331 332 333 334       51 357 358 359 360 361 362 363   
+                                 52 364 365                       
+
+Gregorian - Monday-based week with week numbers - 3 month 2001
+     December 2000             January 2001            February 2001     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+48              1  2  3   1  1  2  3  4  5  6  7   5           1  2  3  4 
+49  4  5  6  7  8  9 10   2  8  9 10 11 12 13 14   6  5  6  7  8  9 10 11 
+50 11 12 13 14 15 16 17   3 15 16 17 18 19 20 21   7 12 13 14 15 16 17 18 
+51 18 19 20 21 22 23 24   4 22 23 24 25 26 27 28   8 19 20 21 22 23 24 25 
+52 25 26 27 28 29 30 31   5 29 30 31               9 26 27 28             
+                                                                          
+Gregorian - Sunday-based week with week numbers - 3 month 2001
+     December 2000             January 2001            February 2001     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+48                 1  2  53     1  2  3  4  5  6   4              1  2  3 
+49  3  4  5  6  7  8  9   1  7  8  9 10 11 12 13   5  4  5  6  7  8  9 10 
+50 10 11 12 13 14 15 16   2 14 15 16 17 18 19 20   6 11 12 13 14 15 16 17 
+51 17 18 19 20 21 22 23   3 21 22 23 24 25 26 27   7 18 19 20 21 22 23 24 
+52 24 25 26 27 28 29 30   4 28 29 30 31            8 25 26 27 28          
+53 31                                                                     
+Julian - Monday-based week with week numbers - 3 month 2001
+         December 2000                   January 2001                    February 2001        
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+48                 336 337 338   1   1   2   3   4   5   6   7   5              32  33  34  35 
+49 339 340 341 342 343 344 345   2   8   9  10  11  12  13  14   6  36  37  38  39  40  41  42 
+50 346 347 348 349 350 351 352   3  15  16  17  18  19  20  21   7  43  44  45  46  47  48  49 
+51 353 354 355 356 357 358 359   4  22  23  24  25  26  27  28   8  50  51  52  53  54  55  56 
+52 360 361 362 363 364 365 366   5  29  30  31                   9  57  58  59                 
+                                                                                               
+Julian - Sunday-based week with week numbers - 3 month 2001
+         December 2000                   January 2001                    February 2001        
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+48                     336 337  53       1   2   3   4   5   6   4                  32  33  34 
+49 338 339 340 341 342 343 344   1   7   8   9  10  11  12  13   5  35  36  37  38  39  40  41 
+50 345 346 347 348 349 350 351   2  14  15  16  17  18  19  20   6  42  43  44  45  46  47  48 
+51 352 353 354 355 356 357 358   3  21  22  23  24  25  26  27   7  49  50  51  52  53  54  55 
+52 359 360 361 362 363 364 365   4  28  29  30  31               8  56  57  58  59             
+53 366                                                                                         
+Gregorian - Monday-based week with week numbers - year 2002
+                                    2002                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+ 1     1  2  3  4  5  6    5              1  2  3    9              1  2  3   
+ 2  7  8  9 10 11 12 13    6  4  5  6  7  8  9 10   10  4  5  6  7  8  9 10   
+ 3 14 15 16 17 18 19 20    7 11 12 13 14 15 16 17   11 11 12 13 14 15 16 17   
+ 4 21 22 23 24 25 26 27    8 18 19 20 21 22 23 24   12 18 19 20 21 22 23 24   
+ 5 28 29 30 31             9 25 26 27 28            13 25 26 27 28 29 30 31   
+                                                                              
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+14  1  2  3  4  5  6  7   18        1  2  3  4  5   22                 1  2   
+15  8  9 10 11 12 13 14   19  6  7  8  9 10 11 12   23  3  4  5  6  7  8  9   
+16 15 16 17 18 19 20 21   20 13 14 15 16 17 18 19   24 10 11 12 13 14 15 16   
+17 22 23 24 25 26 27 28   21 20 21 22 23 24 25 26   25 17 18 19 20 21 22 23   
+18 29 30                  22 27 28 29 30 31         26 24 25 26 27 28 29 30   
+                                                                              
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+27  1  2  3  4  5  6  7   31           1  2  3  4   35                    1   
+28  8  9 10 11 12 13 14   32  5  6  7  8  9 10 11   36  2  3  4  5  6  7  8   
+29 15 16 17 18 19 20 21   33 12 13 14 15 16 17 18   37  9 10 11 12 13 14 15   
+30 22 23 24 25 26 27 28   34 19 20 21 22 23 24 25   38 16 17 18 19 20 21 22   
+31 29 30 31               35 26 27 28 29 30 31      39 23 24 25 26 27 28 29   
+                                                    40 30                     
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+40     1  2  3  4  5  6   44              1  2  3   48                    1   
+41  7  8  9 10 11 12 13   45  4  5  6  7  8  9 10   49  2  3  4  5  6  7  8   
+42 14 15 16 17 18 19 20   46 11 12 13 14 15 16 17   50  9 10 11 12 13 14 15   
+43 21 22 23 24 25 26 27   47 18 19 20 21 22 23 24   51 16 17 18 19 20 21 22   
+44 28 29 30 31            48 25 26 27 28 29 30      52 23 24 25 26 27 28 29   
+                                                     1 30 31                  
+
+Gregorian - Sunday-based week with week numbers - year 2002
+                                    2002                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+52        1  2  3  4  5    4                 1  2    8                 1  2   
+ 1  6  7  8  9 10 11 12    5  3  4  5  6  7  8  9    9  3  4  5  6  7  8  9   
+ 2 13 14 15 16 17 18 19    6 10 11 12 13 14 15 16   10 10 11 12 13 14 15 16   
+ 3 20 21 22 23 24 25 26    7 17 18 19 20 21 22 23   11 17 18 19 20 21 22 23   
+ 4 27 28 29 30 31          8 24 25 26 27 28         12 24 25 26 27 28 29 30   
+                                                    13 31                     
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13     1  2  3  4  5  6   17           1  2  3  4   21                    1   
+14  7  8  9 10 11 12 13   18  5  6  7  8  9 10 11   22  2  3  4  5  6  7  8   
+15 14 15 16 17 18 19 20   19 12 13 14 15 16 17 18   23  9 10 11 12 13 14 15   
+16 21 22 23 24 25 26 27   20 19 20 21 22 23 24 25   24 16 17 18 19 20 21 22   
+17 28 29 30               21 26 27 28 29 30 31      25 23 24 25 26 27 28 29   
+                                                    26 30                     
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26     1  2  3  4  5  6   30              1  2  3   35  1  2  3  4  5  6  7   
+27  7  8  9 10 11 12 13   31  4  5  6  7  8  9 10   36  8  9 10 11 12 13 14   
+28 14 15 16 17 18 19 20   32 11 12 13 14 15 16 17   37 15 16 17 18 19 20 21   
+29 21 22 23 24 25 26 27   33 18 19 20 21 22 23 24   38 22 23 24 25 26 27 28   
+30 28 29 30 31            34 25 26 27 28 29 30 31   39 29 30                  
+                                                                              
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+39        1  2  3  4  5   43                 1  2   48  1  2  3  4  5  6  7   
+40  6  7  8  9 10 11 12   44  3  4  5  6  7  8  9   49  8  9 10 11 12 13 14   
+41 13 14 15 16 17 18 19   45 10 11 12 13 14 15 16   50 15 16 17 18 19 20 21   
+42 20 21 22 23 24 25 26   46 17 18 19 20 21 22 23   51 22 23 24 25 26 27 28   
+43 27 28 29 30 31         47 24 25 26 27 28 29 30   52 29 30 31               
+                                                                              
+
+Julian - Monday-based week with week numbers - year 2002
+                              2002                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 1       1   2   3   4   5   6    5                  32  33  34   
+ 2   7   8   9  10  11  12  13    6  35  36  37  38  39  40  41   
+ 3  14  15  16  17  18  19  20    7  42  43  44  45  46  47  48   
+ 4  21  22  23  24  25  26  27    8  49  50  51  52  53  54  55   
+ 5  28  29  30  31                9  56  57  58  59               
+                                                                  
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9                  60  61  62   14  91  92  93  94  95  96  97   
+10  63  64  65  66  67  68  69   15  98  99 100 101 102 103 104   
+11  70  71  72  73  74  75  76   16 105 106 107 108 109 110 111   
+12  77  78  79  80  81  82  83   17 112 113 114 115 116 117 118   
+13  84  85  86  87  88  89  90   18 119 120                       
+                                                                  
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18         121 122 123 124 125   22                     152 153   
+19 126 127 128 129 130 131 132   23 154 155 156 157 158 159 160   
+20 133 134 135 136 137 138 139   24 161 162 163 164 165 166 167   
+21 140 141 142 143 144 145 146   25 168 169 170 171 172 173 174   
+22 147 148 149 150 151           26 175 176 177 178 179 180 181   
+                                                                  
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+27 182 183 184 185 186 187 188   31             213 214 215 216   
+28 189 190 191 192 193 194 195   32 217 218 219 220 221 222 223   
+29 196 197 198 199 200 201 202   33 224 225 226 227 228 229 230   
+30 203 204 205 206 207 208 209   34 231 232 233 234 235 236 237   
+31 210 211 212                   35 238 239 240 241 242 243       
+                                                                  
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+35                         244   40     274 275 276 277 278 279   
+36 245 246 247 248 249 250 251   41 280 281 282 283 284 285 286   
+37 252 253 254 255 256 257 258   42 287 288 289 290 291 292 293   
+38 259 260 261 262 263 264 265   43 294 295 296 297 298 299 300   
+39 266 267 268 269 270 271 272   44 301 302 303 304               
+40 273                                                            
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44                 305 306 307   48                         335   
+45 308 309 310 311 312 313 314   49 336 337 338 339 340 341 342   
+46 315 316 317 318 319 320 321   50 343 344 345 346 347 348 349   
+47 322 323 324 325 326 327 328   51 350 351 352 353 354 355 356   
+48 329 330 331 332 333 334       52 357 358 359 360 361 362 363   
+                                  1 364 365                       
+
+Julian - Sunday-based week with week numbers - year 2002
+                              2002                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+52           1   2   3   4   5    4                      32  33   
+ 1   6   7   8   9  10  11  12    5  34  35  36  37  38  39  40   
+ 2  13  14  15  16  17  18  19    6  41  42  43  44  45  46  47   
+ 3  20  21  22  23  24  25  26    7  48  49  50  51  52  53  54   
+ 4  27  28  29  30  31            8  55  56  57  58  59           
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 8                      60  61   13      91  92  93  94  95  96   
+ 9  62  63  64  65  66  67  68   14  97  98  99 100 101 102 103   
+10  69  70  71  72  73  74  75   15 104 105 106 107 108 109 110   
+11  76  77  78  79  80  81  82   16 111 112 113 114 115 116 117   
+12  83  84  85  86  87  88  89   17 118 119 120                   
+13  90                                                            
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+17             121 122 123 124   21                         152   
+18 125 126 127 128 129 130 131   22 153 154 155 156 157 158 159   
+19 132 133 134 135 136 137 138   23 160 161 162 163 164 165 166   
+20 139 140 141 142 143 144 145   24 167 168 169 170 171 172 173   
+21 146 147 148 149 150 151       25 174 175 176 177 178 179 180   
+                                 26 181                           
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26     182 183 184 185 186 187   30                 213 214 215   
+27 188 189 190 191 192 193 194   31 216 217 218 219 220 221 222   
+28 195 196 197 198 199 200 201   32 223 224 225 226 227 228 229   
+29 202 203 204 205 206 207 208   33 230 231 232 233 234 235 236   
+30 209 210 211 212               34 237 238 239 240 241 242 243   
+                                                                  
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35 244 245 246 247 248 249 250   39         274 275 276 277 278   
+36 251 252 253 254 255 256 257   40 279 280 281 282 283 284 285   
+37 258 259 260 261 262 263 264   41 286 287 288 289 290 291 292   
+38 265 266 267 268 269 270 271   42 293 294 295 296 297 298 299   
+39 272 273                       43 300 301 302 303 304           
+                                                                  
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+43                     305 306   48 335 336 337 338 339 340 341   
+44 307 308 309 310 311 312 313   49 342 343 344 345 346 347 348   
+45 314 315 316 317 318 319 320   50 349 350 351 352 353 354 355   
+46 321 322 323 324 325 326 327   51 356 357 358 359 360 361 362   
+47 328 329 330 331 332 333 334   52 363 364 365                   
+                                                                  
+
+Gregorian - Monday-based week with week numbers - 3 month 2002
+     December 2001             January 2002            February 2002     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+48                 1  2   1     1  2  3  4  5  6   5              1  2  3 
+49  3  4  5  6  7  8  9   2  7  8  9 10 11 12 13   6  4  5  6  7  8  9 10 
+50 10 11 12 13 14 15 16   3 14 15 16 17 18 19 20   7 11 12 13 14 15 16 17 
+51 17 18 19 20 21 22 23   4 21 22 23 24 25 26 27   8 18 19 20 21 22 23 24 
+52 24 25 26 27 28 29 30   5 28 29 30 31            9 25 26 27 28          
+ 1 31                                                                     
+Gregorian - Sunday-based week with week numbers - 3 month 2002
+     December 2001             January 2002            February 2002     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+47                    1  52        1  2  3  4  5   4                 1  2 
+48  2  3  4  5  6  7  8   1  6  7  8  9 10 11 12   5  3  4  5  6  7  8  9 
+49  9 10 11 12 13 14 15   2 13 14 15 16 17 18 19   6 10 11 12 13 14 15 16 
+50 16 17 18 19 20 21 22   3 20 21 22 23 24 25 26   7 17 18 19 20 21 22 23 
+51 23 24 25 26 27 28 29   4 27 28 29 30 31         8 24 25 26 27 28       
+52 30 31                                                                  
+Julian - Monday-based week with week numbers - 3 month 2002
+         December 2001                   January 2002                    February 2002        
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+48                     335 336   1       1   2   3   4   5   6   5                  32  33  34 
+49 337 338 339 340 341 342 343   2   7   8   9  10  11  12  13   6  35  36  37  38  39  40  41 
+50 344 345 346 347 348 349 350   3  14  15  16  17  18  19  20   7  42  43  44  45  46  47  48 
+51 351 352 353 354 355 356 357   4  21  22  23  24  25  26  27   8  49  50  51  52  53  54  55 
+52 358 359 360 361 362 363 364   5  28  29  30  31               9  56  57  58  59             
+ 1 365                                                                                         
+Julian - Sunday-based week with week numbers - 3 month 2002
+         December 2001                   January 2002                    February 2002        
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+47                         335  52           1   2   3   4   5   4                      32  33 
+48 336 337 338 339 340 341 342   1   6   7   8   9  10  11  12   5  34  35  36  37  38  39  40 
+49 343 344 345 346 347 348 349   2  13  14  15  16  17  18  19   6  41  42  43  44  45  46  47 
+50 350 351 352 353 354 355 356   3  20  21  22  23  24  25  26   7  48  49  50  51  52  53  54 
+51 357 358 359 360 361 362 363   4  27  28  29  30  31           8  55  56  57  58  59         
+52 364 365                                                                                     
+Gregorian - Monday-based week with week numbers - year 2003
+                                    2003                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+ 1        1  2  3  4  5    5                 1  2    9                 1  2   
+ 2  6  7  8  9 10 11 12    6  3  4  5  6  7  8  9   10  3  4  5  6  7  8  9   
+ 3 13 14 15 16 17 18 19    7 10 11 12 13 14 15 16   11 10 11 12 13 14 15 16   
+ 4 20 21 22 23 24 25 26    8 17 18 19 20 21 22 23   12 17 18 19 20 21 22 23   
+ 5 27 28 29 30 31          9 24 25 26 27 28         13 24 25 26 27 28 29 30   
+                                                    14 31                     
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+14     1  2  3  4  5  6   18           1  2  3  4   22                    1   
+15  7  8  9 10 11 12 13   19  5  6  7  8  9 10 11   23  2  3  4  5  6  7  8   
+16 14 15 16 17 18 19 20   20 12 13 14 15 16 17 18   24  9 10 11 12 13 14 15   
+17 21 22 23 24 25 26 27   21 19 20 21 22 23 24 25   25 16 17 18 19 20 21 22   
+18 28 29 30               22 26 27 28 29 30 31      26 23 24 25 26 27 28 29   
+                                                    27 30                     
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+27     1  2  3  4  5  6   31              1  2  3   36  1  2  3  4  5  6  7   
+28  7  8  9 10 11 12 13   32  4  5  6  7  8  9 10   37  8  9 10 11 12 13 14   
+29 14 15 16 17 18 19 20   33 11 12 13 14 15 16 17   38 15 16 17 18 19 20 21   
+30 21 22 23 24 25 26 27   34 18 19 20 21 22 23 24   39 22 23 24 25 26 27 28   
+31 28 29 30 31            35 25 26 27 28 29 30 31   40 29 30                  
+                                                                              
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+40        1  2  3  4  5   44                 1  2   49  1  2  3  4  5  6  7   
+41  6  7  8  9 10 11 12   45  3  4  5  6  7  8  9   50  8  9 10 11 12 13 14   
+42 13 14 15 16 17 18 19   46 10 11 12 13 14 15 16   51 15 16 17 18 19 20 21   
+43 20 21 22 23 24 25 26   47 17 18 19 20 21 22 23   52 22 23 24 25 26 27 28   
+44 27 28 29 30 31         48 24 25 26 27 28 29 30    1 29 30 31               
+                                                                              
+
+Gregorian - Sunday-based week with week numbers - year 2003
+                                    2003                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+52           1  2  3  4    4                    1    8                    1   
+ 1  5  6  7  8  9 10 11    5  2  3  4  5  6  7  8    9  2  3  4  5  6  7  8   
+ 2 12 13 14 15 16 17 18    6  9 10 11 12 13 14 15   10  9 10 11 12 13 14 15   
+ 3 19 20 21 22 23 24 25    7 16 17 18 19 20 21 22   11 16 17 18 19 20 21 22   
+ 4 26 27 28 29 30 31       8 23 24 25 26 27 28      12 23 24 25 26 27 28 29   
+                                                    13 30 31                  
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13        1  2  3  4  5   17              1  2  3   22  1  2  3  4  5  6  7   
+14  6  7  8  9 10 11 12   18  4  5  6  7  8  9 10   23  8  9 10 11 12 13 14   
+15 13 14 15 16 17 18 19   19 11 12 13 14 15 16 17   24 15 16 17 18 19 20 21   
+16 20 21 22 23 24 25 26   20 18 19 20 21 22 23 24   25 22 23 24 25 26 27 28   
+17 27 28 29 30            21 25 26 27 28 29 30 31   26 29 30                  
+                                                                              
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26        1  2  3  4  5   30                 1  2   35     1  2  3  4  5  6   
+27  6  7  8  9 10 11 12   31  3  4  5  6  7  8  9   36  7  8  9 10 11 12 13   
+28 13 14 15 16 17 18 19   32 10 11 12 13 14 15 16   37 14 15 16 17 18 19 20   
+29 20 21 22 23 24 25 26   33 17 18 19 20 21 22 23   38 21 22 23 24 25 26 27   
+30 27 28 29 30 31         34 24 25 26 27 28 29 30   39 28 29 30               
+                          35 31                                               
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+39           1  2  3  4   43                    1   48     1  2  3  4  5  6   
+40  5  6  7  8  9 10 11   44  2  3  4  5  6  7  8   49  7  8  9 10 11 12 13   
+41 12 13 14 15 16 17 18   45  9 10 11 12 13 14 15   50 14 15 16 17 18 19 20   
+42 19 20 21 22 23 24 25   46 16 17 18 19 20 21 22   51 21 22 23 24 25 26 27   
+43 26 27 28 29 30 31      47 23 24 25 26 27 28 29   52 28 29 30 31            
+                          48 30                                               
+
+Julian - Monday-based week with week numbers - year 2003
+                              2003                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 1           1   2   3   4   5    5                      32  33   
+ 2   6   7   8   9  10  11  12    6  34  35  36  37  38  39  40   
+ 3  13  14  15  16  17  18  19    7  41  42  43  44  45  46  47   
+ 4  20  21  22  23  24  25  26    8  48  49  50  51  52  53  54   
+ 5  27  28  29  30  31            9  55  56  57  58  59           
+                                                                  
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9                      60  61   14      91  92  93  94  95  96   
+10  62  63  64  65  66  67  68   15  97  98  99 100 101 102 103   
+11  69  70  71  72  73  74  75   16 104 105 106 107 108 109 110   
+12  76  77  78  79  80  81  82   17 111 112 113 114 115 116 117   
+13  83  84  85  86  87  88  89   18 118 119 120                   
+14  90                                                            
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18             121 122 123 124   22                         152   
+19 125 126 127 128 129 130 131   23 153 154 155 156 157 158 159   
+20 132 133 134 135 136 137 138   24 160 161 162 163 164 165 166   
+21 139 140 141 142 143 144 145   25 167 168 169 170 171 172 173   
+22 146 147 148 149 150 151       26 174 175 176 177 178 179 180   
+                                 27 181                           
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+27     182 183 184 185 186 187   31                 213 214 215   
+28 188 189 190 191 192 193 194   32 216 217 218 219 220 221 222   
+29 195 196 197 198 199 200 201   33 223 224 225 226 227 228 229   
+30 202 203 204 205 206 207 208   34 230 231 232 233 234 235 236   
+31 209 210 211 212               35 237 238 239 240 241 242 243   
+                                                                  
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+36 244 245 246 247 248 249 250   40         274 275 276 277 278   
+37 251 252 253 254 255 256 257   41 279 280 281 282 283 284 285   
+38 258 259 260 261 262 263 264   42 286 287 288 289 290 291 292   
+39 265 266 267 268 269 270 271   43 293 294 295 296 297 298 299   
+40 272 273                       44 300 301 302 303 304           
+                                                                  
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44                     305 306   49 335 336 337 338 339 340 341   
+45 307 308 309 310 311 312 313   50 342 343 344 345 346 347 348   
+46 314 315 316 317 318 319 320   51 349 350 351 352 353 354 355   
+47 321 322 323 324 325 326 327   52 356 357 358 359 360 361 362   
+48 328 329 330 331 332 333 334    1 363 364 365                   
+                                                                  
+
+Julian - Sunday-based week with week numbers - year 2003
+                              2003                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+52               1   2   3   4    4                          32   
+ 1   5   6   7   8   9  10  11    5  33  34  35  36  37  38  39   
+ 2  12  13  14  15  16  17  18    6  40  41  42  43  44  45  46   
+ 3  19  20  21  22  23  24  25    7  47  48  49  50  51  52  53   
+ 4  26  27  28  29  30  31        8  54  55  56  57  58  59       
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 8                          60   13          91  92  93  94  95   
+ 9  61  62  63  64  65  66  67   14  96  97  98  99 100 101 102   
+10  68  69  70  71  72  73  74   15 103 104 105 106 107 108 109   
+11  75  76  77  78  79  80  81   16 110 111 112 113 114 115 116   
+12  82  83  84  85  86  87  88   17 117 118 119 120               
+13  89  90                                                        
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+17                 121 122 123   22 152 153 154 155 156 157 158   
+18 124 125 126 127 128 129 130   23 159 160 161 162 163 164 165   
+19 131 132 133 134 135 136 137   24 166 167 168 169 170 171 172   
+20 138 139 140 141 142 143 144   25 173 174 175 176 177 178 179   
+21 145 146 147 148 149 150 151   26 180 181                       
+                                                                  
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26         182 183 184 185 186   30                     213 214   
+27 187 188 189 190 191 192 193   31 215 216 217 218 219 220 221   
+28 194 195 196 197 198 199 200   32 222 223 224 225 226 227 228   
+29 201 202 203 204 205 206 207   33 229 230 231 232 233 234 235   
+30 208 209 210 211 212           34 236 237 238 239 240 241 242   
+                                 35 243                           
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35     244 245 246 247 248 249   39             274 275 276 277   
+36 250 251 252 253 254 255 256   40 278 279 280 281 282 283 284   
+37 257 258 259 260 261 262 263   41 285 286 287 288 289 290 291   
+38 264 265 266 267 268 269 270   42 292 293 294 295 296 297 298   
+39 271 272 273                   43 299 300 301 302 303 304       
+                                                                  
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+43                         305   48     335 336 337 338 339 340   
+44 306 307 308 309 310 311 312   49 341 342 343 344 345 346 347   
+45 313 314 315 316 317 318 319   50 348 349 350 351 352 353 354   
+46 320 321 322 323 324 325 326   51 355 356 357 358 359 360 361   
+47 327 328 329 330 331 332 333   52 362 363 364 365               
+48 334                                                            
+
+Gregorian - Monday-based week with week numbers - 3 month 2003
+     December 2002             January 2003            February 2003     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+48                    1   1        1  2  3  4  5   5                 1  2 
+49  2  3  4  5  6  7  8   2  6  7  8  9 10 11 12   6  3  4  5  6  7  8  9 
+50  9 10 11 12 13 14 15   3 13 14 15 16 17 18 19   7 10 11 12 13 14 15 16 
+51 16 17 18 19 20 21 22   4 20 21 22 23 24 25 26   8 17 18 19 20 21 22 23 
+52 23 24 25 26 27 28 29   5 27 28 29 30 31         9 24 25 26 27 28       
+ 1 30 31                                                                  
+Gregorian - Sunday-based week with week numbers - 3 month 2003
+     December 2002             January 2003            February 2003     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+48  1  2  3  4  5  6  7  52           1  2  3  4   4                    1 
+49  8  9 10 11 12 13 14   1  5  6  7  8  9 10 11   5  2  3  4  5  6  7  8 
+50 15 16 17 18 19 20 21   2 12 13 14 15 16 17 18   6  9 10 11 12 13 14 15 
+51 22 23 24 25 26 27 28   3 19 20 21 22 23 24 25   7 16 17 18 19 20 21 22 
+52 29 30 31               4 26 27 28 29 30 31      8 23 24 25 26 27 28    
+                                                                          
+Julian - Monday-based week with week numbers - 3 month 2003
+         December 2002                   January 2003                    February 2003        
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+48                         335   1           1   2   3   4   5   5                      32  33 
+49 336 337 338 339 340 341 342   2   6   7   8   9  10  11  12   6  34  35  36  37  38  39  40 
+50 343 344 345 346 347 348 349   3  13  14  15  16  17  18  19   7  41  42  43  44  45  46  47 
+51 350 351 352 353 354 355 356   4  20  21  22  23  24  25  26   8  48  49  50  51  52  53  54 
+52 357 358 359 360 361 362 363   5  27  28  29  30  31           9  55  56  57  58  59         
+ 1 364 365                                                                                     
+Julian - Sunday-based week with week numbers - 3 month 2003
+         December 2002                   January 2003                    February 2003        
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+48 335 336 337 338 339 340 341  52               1   2   3   4   4                          32 
+49 342 343 344 345 346 347 348   1   5   6   7   8   9  10  11   5  33  34  35  36  37  38  39 
+50 349 350 351 352 353 354 355   2  12  13  14  15  16  17  18   6  40  41  42  43  44  45  46 
+51 356 357 358 359 360 361 362   3  19  20  21  22  23  24  25   7  47  48  49  50  51  52  53 
+52 363 364 365                   4  26  27  28  29  30  31       8  54  55  56  57  58  59     
+                                                                                               
+Gregorian - Monday-based week with week numbers - year 2009
+                                    2009                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+ 1           1  2  3  4    5                    1    9                    1   
+ 2  5  6  7  8  9 10 11    6  2  3  4  5  6  7  8   10  2  3  4  5  6  7  8   
+ 3 12 13 14 15 16 17 18    7  9 10 11 12 13 14 15   11  9 10 11 12 13 14 15   
+ 4 19 20 21 22 23 24 25    8 16 17 18 19 20 21 22   12 16 17 18 19 20 21 22   
+ 5 26 27 28 29 30 31       9 23 24 25 26 27 28      13 23 24 25 26 27 28 29   
+                                                    14 30 31                  
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+14        1  2  3  4  5   18              1  2  3   23  1  2  3  4  5  6  7   
+15  6  7  8  9 10 11 12   19  4  5  6  7  8  9 10   24  8  9 10 11 12 13 14   
+16 13 14 15 16 17 18 19   20 11 12 13 14 15 16 17   25 15 16 17 18 19 20 21   
+17 20 21 22 23 24 25 26   21 18 19 20 21 22 23 24   26 22 23 24 25 26 27 28   
+18 27 28 29 30            22 25 26 27 28 29 30 31   27 29 30                  
+                                                                              
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+27        1  2  3  4  5   31                 1  2   36     1  2  3  4  5  6   
+28  6  7  8  9 10 11 12   32  3  4  5  6  7  8  9   37  7  8  9 10 11 12 13   
+29 13 14 15 16 17 18 19   33 10 11 12 13 14 15 16   38 14 15 16 17 18 19 20   
+30 20 21 22 23 24 25 26   34 17 18 19 20 21 22 23   39 21 22 23 24 25 26 27   
+31 27 28 29 30 31         35 24 25 26 27 28 29 30   40 28 29 30               
+                          36 31                                               
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+40           1  2  3  4   44                    1   49     1  2  3  4  5  6   
+41  5  6  7  8  9 10 11   45  2  3  4  5  6  7  8   50  7  8  9 10 11 12 13   
+42 12 13 14 15 16 17 18   46  9 10 11 12 13 14 15   51 14 15 16 17 18 19 20   
+43 19 20 21 22 23 24 25   47 16 17 18 19 20 21 22   52 21 22 23 24 25 26 27   
+44 26 27 28 29 30 31      48 23 24 25 26 27 28 29   53 28 29 30 31            
+                          49 30                                               
+
+Gregorian - Sunday-based week with week numbers - year 2009
+                                    2009                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+52              1  2  3    5  1  2  3  4  5  6  7    9  1  2  3  4  5  6  7   
+ 1  4  5  6  7  8  9 10    6  8  9 10 11 12 13 14   10  8  9 10 11 12 13 14   
+ 2 11 12 13 14 15 16 17    7 15 16 17 18 19 20 21   11 15 16 17 18 19 20 21   
+ 3 18 19 20 21 22 23 24    8 22 23 24 25 26 27 28   12 22 23 24 25 26 27 28   
+ 4 25 26 27 28 29 30 31                             13 29 30 31               
+                                                                              
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13           1  2  3  4   17                 1  2   22     1  2  3  4  5  6   
+14  5  6  7  8  9 10 11   18  3  4  5  6  7  8  9   23  7  8  9 10 11 12 13   
+15 12 13 14 15 16 17 18   19 10 11 12 13 14 15 16   24 14 15 16 17 18 19 20   
+16 19 20 21 22 23 24 25   20 17 18 19 20 21 22 23   25 21 22 23 24 25 26 27   
+17 26 27 28 29 30         21 24 25 26 27 28 29 30   26 28 29 30               
+                          22 31                                               
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26           1  2  3  4   30                    1   35        1  2  3  4  5   
+27  5  6  7  8  9 10 11   31  2  3  4  5  6  7  8   36  6  7  8  9 10 11 12   
+28 12 13 14 15 16 17 18   32  9 10 11 12 13 14 15   37 13 14 15 16 17 18 19   
+29 19 20 21 22 23 24 25   33 16 17 18 19 20 21 22   38 20 21 22 23 24 25 26   
+30 26 27 28 29 30 31      34 23 24 25 26 27 28 29   39 27 28 29 30            
+                          35 30 31                                            
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+39              1  2  3   44  1  2  3  4  5  6  7   48        1  2  3  4  5   
+40  4  5  6  7  8  9 10   45  8  9 10 11 12 13 14   49  6  7  8  9 10 11 12   
+41 11 12 13 14 15 16 17   46 15 16 17 18 19 20 21   50 13 14 15 16 17 18 19   
+42 18 19 20 21 22 23 24   47 22 23 24 25 26 27 28   51 20 21 22 23 24 25 26   
+43 25 26 27 28 29 30 31   48 29 30                  52 27 28 29 30 31         
+                                                                              
+
+Julian - Monday-based week with week numbers - year 2009
+                              2009                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 1               1   2   3   4    5                          32   
+ 2   5   6   7   8   9  10  11    6  33  34  35  36  37  38  39   
+ 3  12  13  14  15  16  17  18    7  40  41  42  43  44  45  46   
+ 4  19  20  21  22  23  24  25    8  47  48  49  50  51  52  53   
+ 5  26  27  28  29  30  31        9  54  55  56  57  58  59       
+                                                                  
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9                          60   14          91  92  93  94  95   
+10  61  62  63  64  65  66  67   15  96  97  98  99 100 101 102   
+11  68  69  70  71  72  73  74   16 103 104 105 106 107 108 109   
+12  75  76  77  78  79  80  81   17 110 111 112 113 114 115 116   
+13  82  83  84  85  86  87  88   18 117 118 119 120               
+14  89  90                                                        
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18                 121 122 123   23 152 153 154 155 156 157 158   
+19 124 125 126 127 128 129 130   24 159 160 161 162 163 164 165   
+20 131 132 133 134 135 136 137   25 166 167 168 169 170 171 172   
+21 138 139 140 141 142 143 144   26 173 174 175 176 177 178 179   
+22 145 146 147 148 149 150 151   27 180 181                       
+                                                                  
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+27         182 183 184 185 186   31                     213 214   
+28 187 188 189 190 191 192 193   32 215 216 217 218 219 220 221   
+29 194 195 196 197 198 199 200   33 222 223 224 225 226 227 228   
+30 201 202 203 204 205 206 207   34 229 230 231 232 233 234 235   
+31 208 209 210 211 212           35 236 237 238 239 240 241 242   
+                                 36 243                           
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+36     244 245 246 247 248 249   40             274 275 276 277   
+37 250 251 252 253 254 255 256   41 278 279 280 281 282 283 284   
+38 257 258 259 260 261 262 263   42 285 286 287 288 289 290 291   
+39 264 265 266 267 268 269 270   43 292 293 294 295 296 297 298   
+40 271 272 273                   44 299 300 301 302 303 304       
+                                                                  
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44                         305   49     335 336 337 338 339 340   
+45 306 307 308 309 310 311 312   50 341 342 343 344 345 346 347   
+46 313 314 315 316 317 318 319   51 348 349 350 351 352 353 354   
+47 320 321 322 323 324 325 326   52 355 356 357 358 359 360 361   
+48 327 328 329 330 331 332 333   53 362 363 364 365               
+49 334                                                            
+
+Julian - Sunday-based week with week numbers - year 2009
+                              2009                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+52                   1   2   3    5  32  33  34  35  36  37  38   
+ 1   4   5   6   7   8   9  10    6  39  40  41  42  43  44  45   
+ 2  11  12  13  14  15  16  17    7  46  47  48  49  50  51  52   
+ 3  18  19  20  21  22  23  24    8  53  54  55  56  57  58  59   
+ 4  25  26  27  28  29  30  31                                    
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 9  60  61  62  63  64  65  66   13              91  92  93  94   
+10  67  68  69  70  71  72  73   14  95  96  97  98  99 100 101   
+11  74  75  76  77  78  79  80   15 102 103 104 105 106 107 108   
+12  81  82  83  84  85  86  87   16 109 110 111 112 113 114 115   
+13  88  89  90                   17 116 117 118 119 120           
+                                                                  
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+17                     121 122   22     152 153 154 155 156 157   
+18 123 124 125 126 127 128 129   23 158 159 160 161 162 163 164   
+19 130 131 132 133 134 135 136   24 165 166 167 168 169 170 171   
+20 137 138 139 140 141 142 143   25 172 173 174 175 176 177 178   
+21 144 145 146 147 148 149 150   26 179 180 181                   
+22 151                                                            
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26             182 183 184 185   30                         213   
+27 186 187 188 189 190 191 192   31 214 215 216 217 218 219 220   
+28 193 194 195 196 197 198 199   32 221 222 223 224 225 226 227   
+29 200 201 202 203 204 205 206   33 228 229 230 231 232 233 234   
+30 207 208 209 210 211 212       34 235 236 237 238 239 240 241   
+                                 35 242 243                       
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35         244 245 246 247 248   39                 274 275 276   
+36 249 250 251 252 253 254 255   40 277 278 279 280 281 282 283   
+37 256 257 258 259 260 261 262   41 284 285 286 287 288 289 290   
+38 263 264 265 266 267 268 269   42 291 292 293 294 295 296 297   
+39 270 271 272 273               43 298 299 300 301 302 303 304   
+                                                                  
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+44 305 306 307 308 309 310 311   48         335 336 337 338 339   
+45 312 313 314 315 316 317 318   49 340 341 342 343 344 345 346   
+46 319 320 321 322 323 324 325   50 347 348 349 350 351 352 353   
+47 326 327 328 329 330 331 332   51 354 355 356 357 358 359 360   
+48 333 334                       52 361 362 363 364 365           
+                                                                  
+
+Gregorian - Monday-based week with week numbers - 3 month 2009
+     December 2008             January 2009            February 2009     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+49  1  2  3  4  5  6  7   1           1  2  3  4   5                    1 
+50  8  9 10 11 12 13 14   2  5  6  7  8  9 10 11   6  2  3  4  5  6  7  8 
+51 15 16 17 18 19 20 21   3 12 13 14 15 16 17 18   7  9 10 11 12 13 14 15 
+52 22 23 24 25 26 27 28   4 19 20 21 22 23 24 25   8 16 17 18 19 20 21 22 
+ 1 29 30 31               5 26 27 28 29 30 31      9 23 24 25 26 27 28    
+                                                                          
+Gregorian - Sunday-based week with week numbers - 3 month 2009
+     December 2008             January 2009            February 2009     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+48     1  2  3  4  5  6  52              1  2  3   5  1  2  3  4  5  6  7 
+49  7  8  9 10 11 12 13   1  4  5  6  7  8  9 10   6  8  9 10 11 12 13 14 
+50 14 15 16 17 18 19 20   2 11 12 13 14 15 16 17   7 15 16 17 18 19 20 21 
+51 21 22 23 24 25 26 27   3 18 19 20 21 22 23 24   8 22 23 24 25 26 27 28 
+52 28 29 30 31            4 25 26 27 28 29 30 31                          
+                                                                          
+Julian - Monday-based week with week numbers - 3 month 2009
+         December 2008                   January 2009                    February 2009        
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+49 336 337 338 339 340 341 342   1               1   2   3   4   5                          32 
+50 343 344 345 346 347 348 349   2   5   6   7   8   9  10  11   6  33  34  35  36  37  38  39 
+51 350 351 352 353 354 355 356   3  12  13  14  15  16  17  18   7  40  41  42  43  44  45  46 
+52 357 358 359 360 361 362 363   4  19  20  21  22  23  24  25   8  47  48  49  50  51  52  53 
+ 1 364 365 366                   5  26  27  28  29  30  31       9  54  55  56  57  58  59     
+                                                                                               
+Julian - Sunday-based week with week numbers - 3 month 2009
+         December 2008                   January 2009                    February 2009        
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+48     336 337 338 339 340 341  52                   1   2   3   5  32  33  34  35  36  37  38 
+49 342 343 344 345 346 347 348   1   4   5   6   7   8   9  10   6  39  40  41  42  43  44  45 
+50 349 350 351 352 353 354 355   2  11  12  13  14  15  16  17   7  46  47  48  49  50  51  52 
+51 356 357 358 359 360 361 362   3  18  19  20  21  22  23  24   8  53  54  55  56  57  58  59 
+52 363 364 365 366               4  25  26  27  28  29  30  31                                 
+                                                                                               
+Gregorian - Monday-based week with week numbers - year 2010
+                                    2010                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+53              1  2  3    5  1  2  3  4  5  6  7    9  1  2  3  4  5  6  7   
+ 1  4  5  6  7  8  9 10    6  8  9 10 11 12 13 14   10  8  9 10 11 12 13 14   
+ 2 11 12 13 14 15 16 17    7 15 16 17 18 19 20 21   11 15 16 17 18 19 20 21   
+ 3 18 19 20 21 22 23 24    8 22 23 24 25 26 27 28   12 22 23 24 25 26 27 28   
+ 4 25 26 27 28 29 30 31                             13 29 30 31               
+                                                                              
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+13           1  2  3  4   17                 1  2   22     1  2  3  4  5  6   
+14  5  6  7  8  9 10 11   18  3  4  5  6  7  8  9   23  7  8  9 10 11 12 13   
+15 12 13 14 15 16 17 18   19 10 11 12 13 14 15 16   24 14 15 16 17 18 19 20   
+16 19 20 21 22 23 24 25   20 17 18 19 20 21 22 23   25 21 22 23 24 25 26 27   
+17 26 27 28 29 30         21 24 25 26 27 28 29 30   26 28 29 30               
+                          22 31                                               
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+26           1  2  3  4   30                    1   35        1  2  3  4  5   
+27  5  6  7  8  9 10 11   31  2  3  4  5  6  7  8   36  6  7  8  9 10 11 12   
+28 12 13 14 15 16 17 18   32  9 10 11 12 13 14 15   37 13 14 15 16 17 18 19   
+29 19 20 21 22 23 24 25   33 16 17 18 19 20 21 22   38 20 21 22 23 24 25 26   
+30 26 27 28 29 30 31      34 23 24 25 26 27 28 29   39 27 28 29 30            
+                          35 30 31                                            
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+39              1  2  3   44  1  2  3  4  5  6  7   48        1  2  3  4  5   
+40  4  5  6  7  8  9 10   45  8  9 10 11 12 13 14   49  6  7  8  9 10 11 12   
+41 11 12 13 14 15 16 17   46 15 16 17 18 19 20 21   50 13 14 15 16 17 18 19   
+42 18 19 20 21 22 23 24   47 22 23 24 25 26 27 28   51 20 21 22 23 24 25 26   
+43 25 26 27 28 29 30 31   48 29 30                  52 27 28 29 30 31         
+                                                                              
+
+Gregorian - Sunday-based week with week numbers - year 2010
+                                    2010                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+52                 1  2    5     1  2  3  4  5  6    9     1  2  3  4  5  6   
+ 1  3  4  5  6  7  8  9    6  7  8  9 10 11 12 13   10  7  8  9 10 11 12 13   
+ 2 10 11 12 13 14 15 16    7 14 15 16 17 18 19 20   11 14 15 16 17 18 19 20   
+ 3 17 18 19 20 21 22 23    8 21 22 23 24 25 26 27   12 21 22 23 24 25 26 27   
+ 4 24 25 26 27 28 29 30    9 28                     13 28 29 30 31            
+ 5 31                                                                         
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13              1  2  3   17                    1   22        1  2  3  4  5   
+14  4  5  6  7  8  9 10   18  2  3  4  5  6  7  8   23  6  7  8  9 10 11 12   
+15 11 12 13 14 15 16 17   19  9 10 11 12 13 14 15   24 13 14 15 16 17 18 19   
+16 18 19 20 21 22 23 24   20 16 17 18 19 20 21 22   25 20 21 22 23 24 25 26   
+17 25 26 27 28 29 30      21 23 24 25 26 27 28 29   26 27 28 29 30            
+                          22 30 31                                            
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26              1  2  3   31  1  2  3  4  5  6  7   35           1  2  3  4   
+27  4  5  6  7  8  9 10   32  8  9 10 11 12 13 14   36  5  6  7  8  9 10 11   
+28 11 12 13 14 15 16 17   33 15 16 17 18 19 20 21   37 12 13 14 15 16 17 18   
+29 18 19 20 21 22 23 24   34 22 23 24 25 26 27 28   38 19 20 21 22 23 24 25   
+30 25 26 27 28 29 30 31   35 29 30 31               39 26 27 28 29 30         
+                                                                              
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+39                 1  2   44     1  2  3  4  5  6   48           1  2  3  4   
+40  3  4  5  6  7  8  9   45  7  8  9 10 11 12 13   49  5  6  7  8  9 10 11   
+41 10 11 12 13 14 15 16   46 14 15 16 17 18 19 20   50 12 13 14 15 16 17 18   
+42 17 18 19 20 21 22 23   47 21 22 23 24 25 26 27   51 19 20 21 22 23 24 25   
+43 24 25 26 27 28 29 30   48 28 29 30               52 26 27 28 29 30 31      
+44 31                                                                         
+
+Julian - Monday-based week with week numbers - year 2010
+                              2010                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+53                   1   2   3    5  32  33  34  35  36  37  38   
+ 1   4   5   6   7   8   9  10    6  39  40  41  42  43  44  45   
+ 2  11  12  13  14  15  16  17    7  46  47  48  49  50  51  52   
+ 3  18  19  20  21  22  23  24    8  53  54  55  56  57  58  59   
+ 4  25  26  27  28  29  30  31                                    
+                                                                  
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9  60  61  62  63  64  65  66   13              91  92  93  94   
+10  67  68  69  70  71  72  73   14  95  96  97  98  99 100 101   
+11  74  75  76  77  78  79  80   15 102 103 104 105 106 107 108   
+12  81  82  83  84  85  86  87   16 109 110 111 112 113 114 115   
+13  88  89  90                   17 116 117 118 119 120           
+                                                                  
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+17                     121 122   22     152 153 154 155 156 157   
+18 123 124 125 126 127 128 129   23 158 159 160 161 162 163 164   
+19 130 131 132 133 134 135 136   24 165 166 167 168 169 170 171   
+20 137 138 139 140 141 142 143   25 172 173 174 175 176 177 178   
+21 144 145 146 147 148 149 150   26 179 180 181                   
+22 151                                                            
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+26             182 183 184 185   30                         213   
+27 186 187 188 189 190 191 192   31 214 215 216 217 218 219 220   
+28 193 194 195 196 197 198 199   32 221 222 223 224 225 226 227   
+29 200 201 202 203 204 205 206   33 228 229 230 231 232 233 234   
+30 207 208 209 210 211 212       34 235 236 237 238 239 240 241   
+                                 35 242 243                       
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+35         244 245 246 247 248   39                 274 275 276   
+36 249 250 251 252 253 254 255   40 277 278 279 280 281 282 283   
+37 256 257 258 259 260 261 262   41 284 285 286 287 288 289 290   
+38 263 264 265 266 267 268 269   42 291 292 293 294 295 296 297   
+39 270 271 272 273               43 298 299 300 301 302 303 304   
+                                                                  
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44 305 306 307 308 309 310 311   48         335 336 337 338 339   
+45 312 313 314 315 316 317 318   49 340 341 342 343 344 345 346   
+46 319 320 321 322 323 324 325   50 347 348 349 350 351 352 353   
+47 326 327 328 329 330 331 332   51 354 355 356 357 358 359 360   
+48 333 334                       52 361 362 363 364 365           
+                                                                  
+
+Julian - Sunday-based week with week numbers - year 2010
+                              2010                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+52                       1   2    5      32  33  34  35  36  37   
+ 1   3   4   5   6   7   8   9    6  38  39  40  41  42  43  44   
+ 2  10  11  12  13  14  15  16    7  45  46  47  48  49  50  51   
+ 3  17  18  19  20  21  22  23    8  52  53  54  55  56  57  58   
+ 4  24  25  26  27  28  29  30    9  59                           
+ 5  31                                                            
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 9      60  61  62  63  64  65   13                  91  92  93   
+10  66  67  68  69  70  71  72   14  94  95  96  97  98  99 100   
+11  73  74  75  76  77  78  79   15 101 102 103 104 105 106 107   
+12  80  81  82  83  84  85  86   16 108 109 110 111 112 113 114   
+13  87  88  89  90               17 115 116 117 118 119 120       
+                                                                  
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+17                         121   22         152 153 154 155 156   
+18 122 123 124 125 126 127 128   23 157 158 159 160 161 162 163   
+19 129 130 131 132 133 134 135   24 164 165 166 167 168 169 170   
+20 136 137 138 139 140 141 142   25 171 172 173 174 175 176 177   
+21 143 144 145 146 147 148 149   26 178 179 180 181               
+22 150 151                                                        
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26                 182 183 184   31 213 214 215 216 217 218 219   
+27 185 186 187 188 189 190 191   32 220 221 222 223 224 225 226   
+28 192 193 194 195 196 197 198   33 227 228 229 230 231 232 233   
+29 199 200 201 202 203 204 205   34 234 235 236 237 238 239 240   
+30 206 207 208 209 210 211 212   35 241 242 243                   
+                                                                  
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35             244 245 246 247   39                     274 275   
+36 248 249 250 251 252 253 254   40 276 277 278 279 280 281 282   
+37 255 256 257 258 259 260 261   41 283 284 285 286 287 288 289   
+38 262 263 264 265 266 267 268   42 290 291 292 293 294 295 296   
+39 269 270 271 272 273           43 297 298 299 300 301 302 303   
+                                 44 304                           
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+44     305 306 307 308 309 310   48             335 336 337 338   
+45 311 312 313 314 315 316 317   49 339 340 341 342 343 344 345   
+46 318 319 320 321 322 323 324   50 346 347 348 349 350 351 352   
+47 325 326 327 328 329 330 331   51 353 354 355 356 357 358 359   
+48 332 333 334                   52 360 361 362 363 364 365       
+                                                                  
+
+Gregorian - Monday-based week with week numbers - 3 month 2010
+     December 2009             January 2010            February 2010     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+49     1  2  3  4  5  6  53              1  2  3   5  1  2  3  4  5  6  7 
+50  7  8  9 10 11 12 13   1  4  5  6  7  8  9 10   6  8  9 10 11 12 13 14 
+51 14 15 16 17 18 19 20   2 11 12 13 14 15 16 17   7 15 16 17 18 19 20 21 
+52 21 22 23 24 25 26 27   3 18 19 20 21 22 23 24   8 22 23 24 25 26 27 28 
+53 28 29 30 31            4 25 26 27 28 29 30 31                          
+                                                                          
+Gregorian - Sunday-based week with week numbers - 3 month 2010
+     December 2009             January 2010            February 2010     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+48        1  2  3  4  5  52                 1  2   5     1  2  3  4  5  6 
+49  6  7  8  9 10 11 12   1  3  4  5  6  7  8  9   6  7  8  9 10 11 12 13 
+50 13 14 15 16 17 18 19   2 10 11 12 13 14 15 16   7 14 15 16 17 18 19 20 
+51 20 21 22 23 24 25 26   3 17 18 19 20 21 22 23   8 21 22 23 24 25 26 27 
+52 27 28 29 30 31         4 24 25 26 27 28 29 30   9 28                   
+                          5 31                                            
+Julian - Monday-based week with week numbers - 3 month 2010
+         December 2009                   January 2010                    February 2010        
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+49     335 336 337 338 339 340  53                   1   2   3   5  32  33  34  35  36  37  38 
+50 341 342 343 344 345 346 347   1   4   5   6   7   8   9  10   6  39  40  41  42  43  44  45 
+51 348 349 350 351 352 353 354   2  11  12  13  14  15  16  17   7  46  47  48  49  50  51  52 
+52 355 356 357 358 359 360 361   3  18  19  20  21  22  23  24   8  53  54  55  56  57  58  59 
+53 362 363 364 365               4  25  26  27  28  29  30  31                                 
+                                                                                               
+Julian - Sunday-based week with week numbers - 3 month 2010
+         December 2009                   January 2010                    February 2010        
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+48         335 336 337 338 339  52                       1   2   5      32  33  34  35  36  37 
+49 340 341 342 343 344 345 346   1   3   4   5   6   7   8   9   6  38  39  40  41  42  43  44 
+50 347 348 349 350 351 352 353   2  10  11  12  13  14  15  16   7  45  46  47  48  49  50  51 
+51 354 355 356 357 358 359 360   3  17  18  19  20  21  22  23   8  52  53  54  55  56  57  58 
+52 361 362 363 364 365           4  24  25  26  27  28  29  30   9  59                         
+                                 5  31                                                         
+Gregorian - Monday-based week with week numbers - year 2011
+                                    2011                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+52                 1  2    5     1  2  3  4  5  6    9     1  2  3  4  5  6   
+ 1  3  4  5  6  7  8  9    6  7  8  9 10 11 12 13   10  7  8  9 10 11 12 13   
+ 2 10 11 12 13 14 15 16    7 14 15 16 17 18 19 20   11 14 15 16 17 18 19 20   
+ 3 17 18 19 20 21 22 23    8 21 22 23 24 25 26 27   12 21 22 23 24 25 26 27   
+ 4 24 25 26 27 28 29 30    9 28                     13 28 29 30 31            
+ 5 31                                                                         
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+13              1  2  3   17                    1   22        1  2  3  4  5   
+14  4  5  6  7  8  9 10   18  2  3  4  5  6  7  8   23  6  7  8  9 10 11 12   
+15 11 12 13 14 15 16 17   19  9 10 11 12 13 14 15   24 13 14 15 16 17 18 19   
+16 18 19 20 21 22 23 24   20 16 17 18 19 20 21 22   25 20 21 22 23 24 25 26   
+17 25 26 27 28 29 30      21 23 24 25 26 27 28 29   26 27 28 29 30            
+                          22 30 31                                            
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+26              1  2  3   31  1  2  3  4  5  6  7   35           1  2  3  4   
+27  4  5  6  7  8  9 10   32  8  9 10 11 12 13 14   36  5  6  7  8  9 10 11   
+28 11 12 13 14 15 16 17   33 15 16 17 18 19 20 21   37 12 13 14 15 16 17 18   
+29 18 19 20 21 22 23 24   34 22 23 24 25 26 27 28   38 19 20 21 22 23 24 25   
+30 25 26 27 28 29 30 31   35 29 30 31               39 26 27 28 29 30         
+                                                                              
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+39                 1  2   44     1  2  3  4  5  6   48           1  2  3  4   
+40  3  4  5  6  7  8  9   45  7  8  9 10 11 12 13   49  5  6  7  8  9 10 11   
+41 10 11 12 13 14 15 16   46 14 15 16 17 18 19 20   50 12 13 14 15 16 17 18   
+42 17 18 19 20 21 22 23   47 21 22 23 24 25 26 27   51 19 20 21 22 23 24 25   
+43 24 25 26 27 28 29 30   48 28 29 30               52 26 27 28 29 30 31      
+44 31                                                                         
+
+Gregorian - Sunday-based week with week numbers - year 2011
+                                    2011                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+52                    1    5        1  2  3  4  5    9        1  2  3  4  5   
+ 1  2  3  4  5  6  7  8    6  6  7  8  9 10 11 12   10  6  7  8  9 10 11 12   
+ 2  9 10 11 12 13 14 15    7 13 14 15 16 17 18 19   11 13 14 15 16 17 18 19   
+ 3 16 17 18 19 20 21 22    8 20 21 22 23 24 25 26   12 20 21 22 23 24 25 26   
+ 4 23 24 25 26 27 28 29    9 27 28                  13 27 28 29 30 31         
+ 5 30 31                                                                      
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13                 1  2   18  1  2  3  4  5  6  7   22           1  2  3  4   
+14  3  4  5  6  7  8  9   19  8  9 10 11 12 13 14   23  5  6  7  8  9 10 11   
+15 10 11 12 13 14 15 16   20 15 16 17 18 19 20 21   24 12 13 14 15 16 17 18   
+16 17 18 19 20 21 22 23   21 22 23 24 25 26 27 28   25 19 20 21 22 23 24 25   
+17 24 25 26 27 28 29 30   22 29 30 31               26 26 27 28 29 30         
+                                                                              
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26                 1  2   31     1  2  3  4  5  6   35              1  2  3   
+27  3  4  5  6  7  8  9   32  7  8  9 10 11 12 13   36  4  5  6  7  8  9 10   
+28 10 11 12 13 14 15 16   33 14 15 16 17 18 19 20   37 11 12 13 14 15 16 17   
+29 17 18 19 20 21 22 23   34 21 22 23 24 25 26 27   38 18 19 20 21 22 23 24   
+30 24 25 26 27 28 29 30   35 28 29 30 31            39 25 26 27 28 29 30      
+31 31                                                                         
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+39                    1   44        1  2  3  4  5   48              1  2  3   
+40  2  3  4  5  6  7  8   45  6  7  8  9 10 11 12   49  4  5  6  7  8  9 10   
+41  9 10 11 12 13 14 15   46 13 14 15 16 17 18 19   50 11 12 13 14 15 16 17   
+42 16 17 18 19 20 21 22   47 20 21 22 23 24 25 26   51 18 19 20 21 22 23 24   
+43 23 24 25 26 27 28 29   48 27 28 29 30            52 25 26 27 28 29 30 31   
+44 30 31                                                                      
+
+Julian - Monday-based week with week numbers - year 2011
+                              2011                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+52                       1   2    5      32  33  34  35  36  37   
+ 1   3   4   5   6   7   8   9    6  38  39  40  41  42  43  44   
+ 2  10  11  12  13  14  15  16    7  45  46  47  48  49  50  51   
+ 3  17  18  19  20  21  22  23    8  52  53  54  55  56  57  58   
+ 4  24  25  26  27  28  29  30    9  59                           
+ 5  31                                                            
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9      60  61  62  63  64  65   13                  91  92  93   
+10  66  67  68  69  70  71  72   14  94  95  96  97  98  99 100   
+11  73  74  75  76  77  78  79   15 101 102 103 104 105 106 107   
+12  80  81  82  83  84  85  86   16 108 109 110 111 112 113 114   
+13  87  88  89  90               17 115 116 117 118 119 120       
+                                                                  
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+17                         121   22         152 153 154 155 156   
+18 122 123 124 125 126 127 128   23 157 158 159 160 161 162 163   
+19 129 130 131 132 133 134 135   24 164 165 166 167 168 169 170   
+20 136 137 138 139 140 141 142   25 171 172 173 174 175 176 177   
+21 143 144 145 146 147 148 149   26 178 179 180 181               
+22 150 151                                                        
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+26                 182 183 184   31 213 214 215 216 217 218 219   
+27 185 186 187 188 189 190 191   32 220 221 222 223 224 225 226   
+28 192 193 194 195 196 197 198   33 227 228 229 230 231 232 233   
+29 199 200 201 202 203 204 205   34 234 235 236 237 238 239 240   
+30 206 207 208 209 210 211 212   35 241 242 243                   
+                                                                  
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+35             244 245 246 247   39                     274 275   
+36 248 249 250 251 252 253 254   40 276 277 278 279 280 281 282   
+37 255 256 257 258 259 260 261   41 283 284 285 286 287 288 289   
+38 262 263 264 265 266 267 268   42 290 291 292 293 294 295 296   
+39 269 270 271 272 273           43 297 298 299 300 301 302 303   
+                                 44 304                           
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44     305 306 307 308 309 310   48             335 336 337 338   
+45 311 312 313 314 315 316 317   49 339 340 341 342 343 344 345   
+46 318 319 320 321 322 323 324   50 346 347 348 349 350 351 352   
+47 325 326 327 328 329 330 331   51 353 354 355 356 357 358 359   
+48 332 333 334                   52 360 361 362 363 364 365       
+                                                                  
+
+Julian - Sunday-based week with week numbers - year 2011
+                              2011                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+52                           1    5          32  33  34  35  36   
+ 1   2   3   4   5   6   7   8    6  37  38  39  40  41  42  43   
+ 2   9  10  11  12  13  14  15    7  44  45  46  47  48  49  50   
+ 3  16  17  18  19  20  21  22    8  51  52  53  54  55  56  57   
+ 4  23  24  25  26  27  28  29    9  58  59                       
+ 5  30  31                                                        
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 9          60  61  62  63  64   13                      91  92   
+10  65  66  67  68  69  70  71   14  93  94  95  96  97  98  99   
+11  72  73  74  75  76  77  78   15 100 101 102 103 104 105 106   
+12  79  80  81  82  83  84  85   16 107 108 109 110 111 112 113   
+13  86  87  88  89  90           17 114 115 116 117 118 119 120   
+                                                                  
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+18 121 122 123 124 125 126 127   22             152 153 154 155   
+19 128 129 130 131 132 133 134   23 156 157 158 159 160 161 162   
+20 135 136 137 138 139 140 141   24 163 164 165 166 167 168 169   
+21 142 143 144 145 146 147 148   25 170 171 172 173 174 175 176   
+22 149 150 151                   26 177 178 179 180 181           
+                                                                  
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26                     182 183   31     213 214 215 216 217 218   
+27 184 185 186 187 188 189 190   32 219 220 221 222 223 224 225   
+28 191 192 193 194 195 196 197   33 226 227 228 229 230 231 232   
+29 198 199 200 201 202 203 204   34 233 234 235 236 237 238 239   
+30 205 206 207 208 209 210 211   35 240 241 242 243               
+31 212                                                            
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35                 244 245 246   39                         274   
+36 247 248 249 250 251 252 253   40 275 276 277 278 279 280 281   
+37 254 255 256 257 258 259 260   41 282 283 284 285 286 287 288   
+38 261 262 263 264 265 266 267   42 289 290 291 292 293 294 295   
+39 268 269 270 271 272 273       43 296 297 298 299 300 301 302   
+                                 44 303 304                       
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+44         305 306 307 308 309   48                 335 336 337   
+45 310 311 312 313 314 315 316   49 338 339 340 341 342 343 344   
+46 317 318 319 320 321 322 323   50 345 346 347 348 349 350 351   
+47 324 325 326 327 328 329 330   51 352 353 354 355 356 357 358   
+48 331 332 333 334               52 359 360 361 362 363 364 365   
+                                                                  
+
+Gregorian - Monday-based week with week numbers - 3 month 2011
+     December 2010             January 2011            February 2011     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+48        1  2  3  4  5  52                 1  2   5     1  2  3  4  5  6 
+49  6  7  8  9 10 11 12   1  3  4  5  6  7  8  9   6  7  8  9 10 11 12 13 
+50 13 14 15 16 17 18 19   2 10 11 12 13 14 15 16   7 14 15 16 17 18 19 20 
+51 20 21 22 23 24 25 26   3 17 18 19 20 21 22 23   8 21 22 23 24 25 26 27 
+52 27 28 29 30 31         4 24 25 26 27 28 29 30   9 28                   
+                          5 31                                            
+Gregorian - Sunday-based week with week numbers - 3 month 2011
+     December 2010             January 2011            February 2011     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+48           1  2  3  4  52                    1   5        1  2  3  4  5 
+49  5  6  7  8  9 10 11   1  2  3  4  5  6  7  8   6  6  7  8  9 10 11 12 
+50 12 13 14 15 16 17 18   2  9 10 11 12 13 14 15   7 13 14 15 16 17 18 19 
+51 19 20 21 22 23 24 25   3 16 17 18 19 20 21 22   8 20 21 22 23 24 25 26 
+52 26 27 28 29 30 31      4 23 24 25 26 27 28 29   9 27 28                
+                          5 30 31                                         
+Julian - Monday-based week with week numbers - 3 month 2011
+         December 2010                   January 2011                    February 2011        
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+48         335 336 337 338 339  52                       1   2   5      32  33  34  35  36  37 
+49 340 341 342 343 344 345 346   1   3   4   5   6   7   8   9   6  38  39  40  41  42  43  44 
+50 347 348 349 350 351 352 353   2  10  11  12  13  14  15  16   7  45  46  47  48  49  50  51 
+51 354 355 356 357 358 359 360   3  17  18  19  20  21  22  23   8  52  53  54  55  56  57  58 
+52 361 362 363 364 365           4  24  25  26  27  28  29  30   9  59                         
+                                 5  31                                                         
+Julian - Sunday-based week with week numbers - 3 month 2011
+         December 2010                   January 2011                    February 2011        
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+48             335 336 337 338  52                           1   5          32  33  34  35  36 
+49 339 340 341 342 343 344 345   1   2   3   4   5   6   7   8   6  37  38  39  40  41  42  43 
+50 346 347 348 349 350 351 352   2   9  10  11  12  13  14  15   7  44  45  46  47  48  49  50 
+51 353 354 355 356 357 358 359   3  16  17  18  19  20  21  22   8  51  52  53  54  55  56  57 
+52 360 361 362 363 364 365       4  23  24  25  26  27  28  29   9  58  59                     
+                                 5  30  31                                                     
+Gregorian - Monday-based week with week numbers - year 2012
+                                    2012                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+52                    1    5        1  2  3  4  5    9           1  2  3  4   
+ 1  2  3  4  5  6  7  8    6  6  7  8  9 10 11 12   10  5  6  7  8  9 10 11   
+ 2  9 10 11 12 13 14 15    7 13 14 15 16 17 18 19   11 12 13 14 15 16 17 18   
+ 3 16 17 18 19 20 21 22    8 20 21 22 23 24 25 26   12 19 20 21 22 23 24 25   
+ 4 23 24 25 26 27 28 29    9 27 28 29               13 26 27 28 29 30 31      
+ 5 30 31                                                                      
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+13                    1   18     1  2  3  4  5  6   22              1  2  3   
+14  2  3  4  5  6  7  8   19  7  8  9 10 11 12 13   23  4  5  6  7  8  9 10   
+15  9 10 11 12 13 14 15   20 14 15 16 17 18 19 20   24 11 12 13 14 15 16 17   
+16 16 17 18 19 20 21 22   21 21 22 23 24 25 26 27   25 18 19 20 21 22 23 24   
+17 23 24 25 26 27 28 29   22 28 29 30 31            26 25 26 27 28 29 30      
+18 30                                                                         
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+26                    1   31        1  2  3  4  5   35                 1  2   
+27  2  3  4  5  6  7  8   32  6  7  8  9 10 11 12   36  3  4  5  6  7  8  9   
+28  9 10 11 12 13 14 15   33 13 14 15 16 17 18 19   37 10 11 12 13 14 15 16   
+29 16 17 18 19 20 21 22   34 20 21 22 23 24 25 26   38 17 18 19 20 21 22 23   
+30 23 24 25 26 27 28 29   35 27 28 29 30 31         39 24 25 26 27 28 29 30   
+31 30 31                                                                      
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+40  1  2  3  4  5  6  7   44           1  2  3  4   48                 1  2   
+41  8  9 10 11 12 13 14   45  5  6  7  8  9 10 11   49  3  4  5  6  7  8  9   
+42 15 16 17 18 19 20 21   46 12 13 14 15 16 17 18   50 10 11 12 13 14 15 16   
+43 22 23 24 25 26 27 28   47 19 20 21 22 23 24 25   51 17 18 19 20 21 22 23   
+44 29 30 31               48 26 27 28 29 30         52 24 25 26 27 28 29 30   
+                                                     1 31                     
+
+Gregorian - Sunday-based week with week numbers - year 2012
+                                    2012                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+ 1  1  2  3  4  5  6  7    5           1  2  3  4    9              1  2  3   
+ 2  8  9 10 11 12 13 14    6  5  6  7  8  9 10 11   10  4  5  6  7  8  9 10   
+ 3 15 16 17 18 19 20 21    7 12 13 14 15 16 17 18   11 11 12 13 14 15 16 17   
+ 4 22 23 24 25 26 27 28    8 19 20 21 22 23 24 25   12 18 19 20 21 22 23 24   
+ 5 29 30 31                9 26 27 28 29            13 25 26 27 28 29 30 31   
+                                                                              
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+14  1  2  3  4  5  6  7   18        1  2  3  4  5   22                 1  2   
+15  8  9 10 11 12 13 14   19  6  7  8  9 10 11 12   23  3  4  5  6  7  8  9   
+16 15 16 17 18 19 20 21   20 13 14 15 16 17 18 19   24 10 11 12 13 14 15 16   
+17 22 23 24 25 26 27 28   21 20 21 22 23 24 25 26   25 17 18 19 20 21 22 23   
+18 29 30                  22 27 28 29 30 31         26 24 25 26 27 28 29 30   
+                                                                              
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+27  1  2  3  4  5  6  7   31           1  2  3  4   35                    1   
+28  8  9 10 11 12 13 14   32  5  6  7  8  9 10 11   36  2  3  4  5  6  7  8   
+29 15 16 17 18 19 20 21   33 12 13 14 15 16 17 18   37  9 10 11 12 13 14 15   
+30 22 23 24 25 26 27 28   34 19 20 21 22 23 24 25   38 16 17 18 19 20 21 22   
+31 29 30 31               35 26 27 28 29 30 31      39 23 24 25 26 27 28 29   
+                                                    40 30                     
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+40     1  2  3  4  5  6   44              1  2  3   48                    1   
+41  7  8  9 10 11 12 13   45  4  5  6  7  8  9 10   49  2  3  4  5  6  7  8   
+42 14 15 16 17 18 19 20   46 11 12 13 14 15 16 17   50  9 10 11 12 13 14 15   
+43 21 22 23 24 25 26 27   47 18 19 20 21 22 23 24   51 16 17 18 19 20 21 22   
+44 28 29 30 31            48 25 26 27 28 29 30      52 23 24 25 26 27 28 29   
+                                                    53 30 31                  
+
+Julian - Monday-based week with week numbers - year 2012
+                              2012                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+52                           1    5          32  33  34  35  36   
+ 1   2   3   4   5   6   7   8    6  37  38  39  40  41  42  43   
+ 2   9  10  11  12  13  14  15    7  44  45  46  47  48  49  50   
+ 3  16  17  18  19  20  21  22    8  51  52  53  54  55  56  57   
+ 4  23  24  25  26  27  28  29    9  58  59  60                   
+ 5  30  31                                                        
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9              61  62  63  64   13                          92   
+10  65  66  67  68  69  70  71   14  93  94  95  96  97  98  99   
+11  72  73  74  75  76  77  78   15 100 101 102 103 104 105 106   
+12  79  80  81  82  83  84  85   16 107 108 109 110 111 112 113   
+13  86  87  88  89  90  91       17 114 115 116 117 118 119 120   
+                                 18 121                           
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18     122 123 124 125 126 127   22                 153 154 155   
+19 128 129 130 131 132 133 134   23 156 157 158 159 160 161 162   
+20 135 136 137 138 139 140 141   24 163 164 165 166 167 168 169   
+21 142 143 144 145 146 147 148   25 170 171 172 173 174 175 176   
+22 149 150 151 152               26 177 178 179 180 181 182       
+                                                                  
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+26                         183   31         214 215 216 217 218   
+27 184 185 186 187 188 189 190   32 219 220 221 222 223 224 225   
+28 191 192 193 194 195 196 197   33 226 227 228 229 230 231 232   
+29 198 199 200 201 202 203 204   34 233 234 235 236 237 238 239   
+30 205 206 207 208 209 210 211   35 240 241 242 243 244           
+31 212 213                                                        
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+35                     245 246   40 275 276 277 278 279 280 281   
+36 247 248 249 250 251 252 253   41 282 283 284 285 286 287 288   
+37 254 255 256 257 258 259 260   42 289 290 291 292 293 294 295   
+38 261 262 263 264 265 266 267   43 296 297 298 299 300 301 302   
+39 268 269 270 271 272 273 274   44 303 304 305                   
+                                                                  
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44             306 307 308 309   48                     336 337   
+45 310 311 312 313 314 315 316   49 338 339 340 341 342 343 344   
+46 317 318 319 320 321 322 323   50 345 346 347 348 349 350 351   
+47 324 325 326 327 328 329 330   51 352 353 354 355 356 357 358   
+48 331 332 333 334 335           52 359 360 361 362 363 364 365   
+                                  1 366                           
+
+Julian - Sunday-based week with week numbers - year 2012
+                              2012                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 1   1   2   3   4   5   6   7    5              32  33  34  35   
+ 2   8   9  10  11  12  13  14    6  36  37  38  39  40  41  42   
+ 3  15  16  17  18  19  20  21    7  43  44  45  46  47  48  49   
+ 4  22  23  24  25  26  27  28    8  50  51  52  53  54  55  56   
+ 5  29  30  31                    9  57  58  59  60               
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 9                  61  62  63   14  92  93  94  95  96  97  98   
+10  64  65  66  67  68  69  70   15  99 100 101 102 103 104 105   
+11  71  72  73  74  75  76  77   16 106 107 108 109 110 111 112   
+12  78  79  80  81  82  83  84   17 113 114 115 116 117 118 119   
+13  85  86  87  88  89  90  91   18 120 121                       
+                                                                  
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+18         122 123 124 125 126   22                     153 154   
+19 127 128 129 130 131 132 133   23 155 156 157 158 159 160 161   
+20 134 135 136 137 138 139 140   24 162 163 164 165 166 167 168   
+21 141 142 143 144 145 146 147   25 169 170 171 172 173 174 175   
+22 148 149 150 151 152           26 176 177 178 179 180 181 182   
+                                                                  
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+27 183 184 185 186 187 188 189   31             214 215 216 217   
+28 190 191 192 193 194 195 196   32 218 219 220 221 222 223 224   
+29 197 198 199 200 201 202 203   33 225 226 227 228 229 230 231   
+30 204 205 206 207 208 209 210   34 232 233 234 235 236 237 238   
+31 211 212 213                   35 239 240 241 242 243 244       
+                                                                  
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35                         245   40     275 276 277 278 279 280   
+36 246 247 248 249 250 251 252   41 281 282 283 284 285 286 287   
+37 253 254 255 256 257 258 259   42 288 289 290 291 292 293 294   
+38 260 261 262 263 264 265 266   43 295 296 297 298 299 300 301   
+39 267 268 269 270 271 272 273   44 302 303 304 305               
+40 274                                                            
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+44                 306 307 308   48                         336   
+45 309 310 311 312 313 314 315   49 337 338 339 340 341 342 343   
+46 316 317 318 319 320 321 322   50 344 345 346 347 348 349 350   
+47 323 324 325 326 327 328 329   51 351 352 353 354 355 356 357   
+48 330 331 332 333 334 335       52 358 359 360 361 362 363 364   
+                                 53 365 366                       
+
+Gregorian - Monday-based week with week numbers - 3 month 2012
+     December 2011             January 2012            February 2012     
+   Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su     Mo Tu We Th Fr Sa Su
+48           1  2  3  4  52                    1   5        1  2  3  4  5 
+49  5  6  7  8  9 10 11   1  2  3  4  5  6  7  8   6  6  7  8  9 10 11 12 
+50 12 13 14 15 16 17 18   2  9 10 11 12 13 14 15   7 13 14 15 16 17 18 19 
+51 19 20 21 22 23 24 25   3 16 17 18 19 20 21 22   8 20 21 22 23 24 25 26 
+52 26 27 28 29 30 31      4 23 24 25 26 27 28 29   9 27 28 29             
+                          5 30 31                                         
+Gregorian - Sunday-based week with week numbers - 3 month 2012
+     December 2011             January 2012            February 2012     
+   Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa
+48              1  2  3   1  1  2  3  4  5  6  7   5           1  2  3  4 
+49  4  5  6  7  8  9 10   2  8  9 10 11 12 13 14   6  5  6  7  8  9 10 11 
+50 11 12 13 14 15 16 17   3 15 16 17 18 19 20 21   7 12 13 14 15 16 17 18 
+51 18 19 20 21 22 23 24   4 22 23 24 25 26 27 28   8 19 20 21 22 23 24 25 
+52 25 26 27 28 29 30 31   5 29 30 31               9 26 27 28 29          
+                                                                          
+Julian - Monday-based week with week numbers - 3 month 2012
+         December 2011                   January 2012                    February 2012        
+   Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun     Mon Tue Wed Thu Fri Sat Sun
+48             335 336 337 338  52                           1   5          32  33  34  35  36 
+49 339 340 341 342 343 344 345   1   2   3   4   5   6   7   8   6  37  38  39  40  41  42  43 
+50 346 347 348 349 350 351 352   2   9  10  11  12  13  14  15   7  44  45  46  47  48  49  50 
+51 353 354 355 356 357 358 359   3  16  17  18  19  20  21  22   8  51  52  53  54  55  56  57 
+52 360 361 362 363 364 365       4  23  24  25  26  27  28  29   9  58  59  60                 
+                                 5  30  31                                                     
+Julian - Sunday-based week with week numbers - 3 month 2012
+         December 2011                   January 2012                    February 2012        
+   Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat     Sun Mon Tue Wed Thu Fri Sat
+48                 335 336 337   1   1   2   3   4   5   6   7   5              32  33  34  35 
+49 338 339 340 341 342 343 344   2   8   9  10  11  12  13  14   6  36  37  38  39  40  41  42 
+50 345 346 347 348 349 350 351   3  15  16  17  18  19  20  21   7  43  44  45  46  47  48  49 
+51 352 353 354 355 356 357 358   4  22  23  24  25  26  27  28   8  50  51  52  53  54  55  56 
+52 359 360 361 362 363 364 365   5  29  30  31                   9  57  58  59  60             
+                                                                                               
diff --git a/tests/expected/cal/yearw b/tests/expected/cal/yearw
new file mode 100644 (file)
index 0000000..93debbc
--- /dev/null
@@ -0,0 +1,177 @@
+
+Gregorian - Monday-based week with week numbers
+                                    2006                                   
+
+        January                   February                   March         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+52                    1    5        1  2  3  4  5    9        1  2  3  4  5   
+ 1  2  3  4  5  6  7  8    6  6  7  8  9 10 11 12   10  6  7  8  9 10 11 12   
+ 2  9 10 11 12 13 14 15    7 13 14 15 16 17 18 19   11 13 14 15 16 17 18 19   
+ 3 16 17 18 19 20 21 22    8 20 21 22 23 24 25 26   12 20 21 22 23 24 25 26   
+ 4 23 24 25 26 27 28 29    9 27 28                  13 27 28 29 30 31         
+ 5 30 31                                                                      
+         April                      May                       June         
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+13                 1  2   18  1  2  3  4  5  6  7   22           1  2  3  4   
+14  3  4  5  6  7  8  9   19  8  9 10 11 12 13 14   23  5  6  7  8  9 10 11   
+15 10 11 12 13 14 15 16   20 15 16 17 18 19 20 21   24 12 13 14 15 16 17 18   
+16 17 18 19 20 21 22 23   21 22 23 24 25 26 27 28   25 19 20 21 22 23 24 25   
+17 24 25 26 27 28 29 30   22 29 30 31               26 26 27 28 29 30         
+                                                                              
+          July                     August                  September       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+26                 1  2   31     1  2  3  4  5  6   35              1  2  3   
+27  3  4  5  6  7  8  9   32  7  8  9 10 11 12 13   36  4  5  6  7  8  9 10   
+28 10 11 12 13 14 15 16   33 14 15 16 17 18 19 20   37 11 12 13 14 15 16 17   
+29 17 18 19 20 21 22 23   34 21 22 23 24 25 26 27   38 18 19 20 21 22 23 24   
+30 24 25 26 27 28 29 30   35 28 29 30 31            39 25 26 27 28 29 30      
+31 31                                                                         
+        October                   November                  December       
+   Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
+39                    1   44        1  2  3  4  5   48              1  2  3   
+40  2  3  4  5  6  7  8   45  6  7  8  9 10 11 12   49  4  5  6  7  8  9 10   
+41  9 10 11 12 13 14 15   46 13 14 15 16 17 18 19   50 11 12 13 14 15 16 17   
+42 16 17 18 19 20 21 22   47 20 21 22 23 24 25 26   51 18 19 20 21 22 23 24   
+43 23 24 25 26 27 28 29   48 27 28 29 30            52 25 26 27 28 29 30 31   
+44 30 31                                                                      
+
+Gregorian - Sunday-based week with week numbers
+                                    2006                                   
+
+        January                   February                   March         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+ 1  1  2  3  4  5  6  7    5           1  2  3  4    9           1  2  3  4   
+ 2  8  9 10 11 12 13 14    6  5  6  7  8  9 10 11   10  5  6  7  8  9 10 11   
+ 3 15 16 17 18 19 20 21    7 12 13 14 15 16 17 18   11 12 13 14 15 16 17 18   
+ 4 22 23 24 25 26 27 28    8 19 20 21 22 23 24 25   12 19 20 21 22 23 24 25   
+ 5 29 30 31                9 26 27 28               13 26 27 28 29 30 31      
+                                                                              
+         April                      May                       June         
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+13                    1   18     1  2  3  4  5  6   22              1  2  3   
+14  2  3  4  5  6  7  8   19  7  8  9 10 11 12 13   23  4  5  6  7  8  9 10   
+15  9 10 11 12 13 14 15   20 14 15 16 17 18 19 20   24 11 12 13 14 15 16 17   
+16 16 17 18 19 20 21 22   21 21 22 23 24 25 26 27   25 18 19 20 21 22 23 24   
+17 23 24 25 26 27 28 29   22 28 29 30 31            26 25 26 27 28 29 30      
+18 30                                                                         
+          July                     August                  September       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+26                    1   31        1  2  3  4  5   35                 1  2   
+27  2  3  4  5  6  7  8   32  6  7  8  9 10 11 12   36  3  4  5  6  7  8  9   
+28  9 10 11 12 13 14 15   33 13 14 15 16 17 18 19   37 10 11 12 13 14 15 16   
+29 16 17 18 19 20 21 22   34 20 21 22 23 24 25 26   38 17 18 19 20 21 22 23   
+30 23 24 25 26 27 28 29   35 27 28 29 30 31         39 24 25 26 27 28 29 30   
+31 30 31                                                                      
+        October                   November                  December       
+   Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
+40  1  2  3  4  5  6  7   44           1  2  3  4   48                 1  2   
+41  8  9 10 11 12 13 14   45  5  6  7  8  9 10 11   49  3  4  5  6  7  8  9   
+42 15 16 17 18 19 20 21   46 12 13 14 15 16 17 18   50 10 11 12 13 14 15 16   
+43 22 23 24 25 26 27 28   47 19 20 21 22 23 24 25   51 17 18 19 20 21 22 23   
+44 29 30 31               48 26 27 28 29 30         52 24 25 26 27 28 29 30   
+                                                    53 31                     
+
+Julian - Monday-based week with week numbers
+                              2006                             
+
+            January                         February           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+52                           1    5          32  33  34  35  36   
+ 1   2   3   4   5   6   7   8    6  37  38  39  40  41  42  43   
+ 2   9  10  11  12  13  14  15    7  44  45  46  47  48  49  50   
+ 3  16  17  18  19  20  21  22    8  51  52  53  54  55  56  57   
+ 4  23  24  25  26  27  28  29    9  58  59                       
+ 5  30  31                                                        
+             March                            April            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+ 9          60  61  62  63  64   13                      91  92   
+10  65  66  67  68  69  70  71   14  93  94  95  96  97  98  99   
+11  72  73  74  75  76  77  78   15 100 101 102 103 104 105 106   
+12  79  80  81  82  83  84  85   16 107 108 109 110 111 112 113   
+13  86  87  88  89  90           17 114 115 116 117 118 119 120   
+                                                                  
+              May                             June             
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+18 121 122 123 124 125 126 127   22             152 153 154 155   
+19 128 129 130 131 132 133 134   23 156 157 158 159 160 161 162   
+20 135 136 137 138 139 140 141   24 163 164 165 166 167 168 169   
+21 142 143 144 145 146 147 148   25 170 171 172 173 174 175 176   
+22 149 150 151                   26 177 178 179 180 181           
+                                                                  
+             July                            August            
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+26                     182 183   31     213 214 215 216 217 218   
+27 184 185 186 187 188 189 190   32 219 220 221 222 223 224 225   
+28 191 192 193 194 195 196 197   33 226 227 228 229 230 231 232   
+29 198 199 200 201 202 203 204   34 233 234 235 236 237 238 239   
+30 205 206 207 208 209 210 211   35 240 241 242 243               
+31 212                                                            
+           September                         October           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+35                 244 245 246   39                         274   
+36 247 248 249 250 251 252 253   40 275 276 277 278 279 280 281   
+37 254 255 256 257 258 259 260   41 282 283 284 285 286 287 288   
+38 261 262 263 264 265 266 267   42 289 290 291 292 293 294 295   
+39 268 269 270 271 272 273       43 296 297 298 299 300 301 302   
+                                 44 303 304                       
+           November                         December           
+   Mon Tue Wed Thu Fri Sat Sun      Mon Tue Wed Thu Fri Sat Sun
+44         305 306 307 308 309   48                 335 336 337   
+45 310 311 312 313 314 315 316   49 338 339 340 341 342 343 344   
+46 317 318 319 320 321 322 323   50 345 346 347 348 349 350 351   
+47 324 325 326 327 328 329 330   51 352 353 354 355 356 357 358   
+48 331 332 333 334               52 359 360 361 362 363 364 365   
+                                                                  
+
+Julian - Sunday-based week with week numbers
+                              2006                             
+
+            January                         February           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 1   1   2   3   4   5   6   7    5              32  33  34  35   
+ 2   8   9  10  11  12  13  14    6  36  37  38  39  40  41  42   
+ 3  15  16  17  18  19  20  21    7  43  44  45  46  47  48  49   
+ 4  22  23  24  25  26  27  28    8  50  51  52  53  54  55  56   
+ 5  29  30  31                    9  57  58  59                   
+                                                                  
+             March                            April            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+ 9              60  61  62  63   13                          91   
+10  64  65  66  67  68  69  70   14  92  93  94  95  96  97  98   
+11  71  72  73  74  75  76  77   15  99 100 101 102 103 104 105   
+12  78  79  80  81  82  83  84   16 106 107 108 109 110 111 112   
+13  85  86  87  88  89  90       17 113 114 115 116 117 118 119   
+                                 18 120                           
+              May                             June             
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+18     121 122 123 124 125 126   22                 152 153 154   
+19 127 128 129 130 131 132 133   23 155 156 157 158 159 160 161   
+20 134 135 136 137 138 139 140   24 162 163 164 165 166 167 168   
+21 141 142 143 144 145 146 147   25 169 170 171 172 173 174 175   
+22 148 149 150 151               26 176 177 178 179 180 181       
+                                                                  
+             July                            August            
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+26                         182   31         213 214 215 216 217   
+27 183 184 185 186 187 188 189   32 218 219 220 221 222 223 224   
+28 190 191 192 193 194 195 196   33 225 226 227 228 229 230 231   
+29 197 198 199 200 201 202 203   34 232 233 234 235 236 237 238   
+30 204 205 206 207 208 209 210   35 239 240 241 242 243           
+31 211 212                                                        
+           September                         October           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+35                     244 245   40 274 275 276 277 278 279 280   
+36 246 247 248 249 250 251 252   41 281 282 283 284 285 286 287   
+37 253 254 255 256 257 258 259   42 288 289 290 291 292 293 294   
+38 260 261 262 263 264 265 266   43 295 296 297 298 299 300 301   
+39 267 268 269 270 271 272 273   44 302 303 304                   
+                                                                  
+           November                         December           
+   Sun Mon Tue Wed Thu Fri Sat      Sun Mon Tue Wed Thu Fri Sat
+44             305 306 307 308   48                     335 336   
+45 309 310 311 312 313 314 315   49 337 338 339 340 341 342 343   
+46 316 317 318 319 320 321 322   50 344 345 346 347 348 349 350   
+47 323 324 325 326 327 328 329   51 351 352 353 354 355 356 357   
+48 330 331 332 333 334           52 358 359 360 361 362 363 364   
+                                 53 365                           
+
diff --git a/tests/ts/cal/1mw b/tests/ts/cal/1mw
new file mode 100755 (executable)
index 0000000..5623772
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="1 month with week numbers"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYTIME="27 09 2006"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+ts_log "Gregorian - Monday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mw $MYTIME
+fi
+$TS_CMD_CAL -1mw $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sw $MYTIME
+fi
+$TS_CMD_CAL -1sw $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mjw $MYTIME
+fi
+$TS_CMD_CAL -1mjw $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sjw $MYTIME
+fi
+$TS_CMD_CAL -1sjw $MYTIME >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/cal/3mw b/tests/ts/cal/3mw
new file mode 100755 (executable)
index 0000000..d3b1228
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="3 months with week numbers"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYTIME="27 09 2006"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+ts_log "Gregorian - Monday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+        $TS_CMD_CAL -3mw $MYTIME
+fi
+$TS_CMD_CAL -3mw $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+        $TS_CMD_CAL -3sw $MYTIME
+fi
+$TS_CMD_CAL -3sw $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3mjw $MYTIME
+fi
+$TS_CMD_CAL -3mjw $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+        $TS_CMD_CAL -3sjw $MYTIME
+fi
+$TS_CMD_CAL -3sjw $MYTIME >> $TS_OUTPUT
+
+ts_finalize
+
diff --git a/tests/ts/cal/bigyearw b/tests/ts/cal/bigyearw
new file mode 100755 (executable)
index 0000000..3400b49
--- /dev/null
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="Year 1234567890123456789 with week numbers"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYMONTH="12 1234567890123456789"
+MYYEAR="1234567890123456789"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+
+ts_log "Gregorian - Monday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mw
+fi
+$TS_CMD_CAL -1mw $MYMONTH >> $TS_OUTPUT
+ts_log "Gregorian - Sunday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sw $MYMONTH
+fi
+$TS_CMD_CAL -1sw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Monday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mjw $MYMONTH
+fi
+$TS_CMD_CAL -1mjw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Sunday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sjw $MYMONTH
+fi
+$TS_CMD_CAL -1sjw $MYMONTH >> $TS_OUTPUT
+
+
+ts_log "Gregorian - Monday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3mw
+fi
+$TS_CMD_CAL -3mw $MYMONTH >> $TS_OUTPUT
+ts_log "Gregorian - Sunday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3sw $MYMONTH
+fi
+$TS_CMD_CAL -3sw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Monday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3mjw $MYMONTH
+fi
+$TS_CMD_CAL -3mjw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Sunday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3sjw $MYMONTH
+fi
+$TS_CMD_CAL -3sjw $MYMONTH >> $TS_OUTPUT
+
+
+ts_log "Gregorian - Monday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mw $MYYEAR
+fi
+$TS_CMD_CAL -1mw $MYYEAR >> $TS_OUTPUT
+ts_log "Gregorian - Sunday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sw $MYYEAR
+fi
+$TS_CMD_CAL -1sw $MYYEAR >> $TS_OUTPUT
+ts_log "Julian - Monday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mjw $MYYEAR
+fi
+$TS_CMD_CAL -1mjw $MYYEAR >> $TS_OUTPUT
+ts_log "Julian - Sunday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sjw $MYYEAR
+fi
+$TS_CMD_CAL -1sjw $MYYEAR >> $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/cal/colorw b/tests/ts/cal/colorw
new file mode 100755 (executable)
index 0000000..b08656e
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="color with week numbers"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+# --color output depends on terminal type
+export TERM=linux
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+ts_log "First day with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -w --color=always 1 1 1
+fi
+$TS_CMD_CAL -w --color=always 1 1 1 >> $TS_OUTPUT
+
+ts_log "Reformation corner cases 1 with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -w --color=always 2 9 1752
+fi
+$TS_CMD_CAL -w --color=always 2 9 1752 >> $TS_OUTPUT
+
+ts_log "Reformation corner cases 2 with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -w --color=always 3 9 1752
+fi
+$TS_CMD_CAL -w --color=always 3 9 1752 >> $TS_OUTPUT
+
+ts_log "Reformation corner cases 3 with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -w --color=always 13 9 1752
+fi
+$TS_CMD_CAL -w --color=always 13 9 1752 >> $TS_OUTPUT
+
+ts_log "Reformation corner cases 4 with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -w --color=always 14 9 1752
+fi
+$TS_CMD_CAL -w --color=always 14 9 1752 >> $TS_OUTPUT
+
+ts_log "Last day with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -w --color=always 31 12 9999
+fi
+$TS_CMD_CAL -w --color=always -3 31 12 9999 >> $TS_OUTPUT
+
+
+ts_finalize
+
diff --git a/tests/ts/cal/sep1752w b/tests/ts/cal/sep1752w
new file mode 100755 (executable)
index 0000000..0ea4603
--- /dev/null
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="September 1752 with week numbers"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYMONTH="09 1752"
+MYYEAR="1752"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+
+ts_log "Gregorian - Monday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mw
+fi
+$TS_CMD_CAL -1mw $MYMONTH >> $TS_OUTPUT
+ts_log "Gregorian - Sunday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sw $MYMONTH
+fi
+$TS_CMD_CAL -1sw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Monday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mjw $MYMONTH
+fi
+$TS_CMD_CAL -1mjw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Sunday-based month with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sjw $MYMONTH
+fi
+$TS_CMD_CAL -1sjw $MYMONTH >> $TS_OUTPUT
+
+
+ts_log "Gregorian - Monday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3mw
+fi
+$TS_CMD_CAL -3mw $MYMONTH >> $TS_OUTPUT
+ts_log "Gregorian - Sunday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3sw $MYMONTH
+fi
+$TS_CMD_CAL -3sw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Monday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3mjw $MYMONTH
+fi
+$TS_CMD_CAL -3mjw $MYMONTH >> $TS_OUTPUT
+ts_log "Julian - Sunday-based three months with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3sjw $MYMONTH
+fi
+$TS_CMD_CAL -3sjw $MYMONTH >> $TS_OUTPUT
+
+
+ts_log "Gregorian - Monday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mw $MYYEAR
+fi
+$TS_CMD_CAL -1mw $MYYEAR >> $TS_OUTPUT
+ts_log "Gregorian - Sunday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sw $MYYEAR
+fi
+$TS_CMD_CAL -1sw $MYYEAR >> $TS_OUTPUT
+ts_log "Julian - Monday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1mjw $MYYEAR
+fi
+$TS_CMD_CAL -1mjw $MYYEAR >> $TS_OUTPUT
+ts_log "Julian - Sunday-based year with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -1sjw $MYYEAR
+fi
+$TS_CMD_CAL -1sjw $MYYEAR >> $TS_OUTPUT
+
+ts_finalize
diff --git a/tests/ts/cal/weeknum b/tests/ts/cal/weeknum
new file mode 100755 (executable)
index 0000000..8164f1a
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="week number corner cases"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+for x in 2001 2002 2003 2009 2010 2011 2012 ; do 
+MYTIME="1 $x"
+
+ts_log "Gregorian - Monday-based week with week numbers - year $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ymw $MYTIME
+fi
+$TS_CMD_CAL -ymw $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week with week numbers - year $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ysw $MYTIME
+fi
+$TS_CMD_CAL -ysw $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week with week numbers - year $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ymjw $MYTIME
+fi
+$TS_CMD_CAL -ymjw $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week with week numbers - year $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ysjw $MYTIME
+fi
+$TS_CMD_CAL -ysjw $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Monday-based week with week numbers - 3 month $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3mw $MYTIME
+fi
+$TS_CMD_CAL -3mw $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week with week numbers - 3 month $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3sw $MYTIME
+fi
+$TS_CMD_CAL -3sw $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week with week numbers - 3 month $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3mjw $MYTIME
+fi
+$TS_CMD_CAL -3mjw $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week with week numbers - 3 month $x"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -3sjw $MYTIME
+fi
+$TS_CMD_CAL -3sjw $MYTIME >> $TS_OUTPUT
+
+done
+
+ts_finalize
+
diff --git a/tests/ts/cal/yearw b/tests/ts/cal/yearw
new file mode 100755 (executable)
index 0000000..b827574
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="$(dirname $0)/../.."
+TS_DESC="year with week numbers"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+set -o pipefail
+
+USETERM=$( ts_has_option "useterm" "$*" )
+MYTIME="29 11 2006"
+
+[ "$USETERM" == "yes" ] && TS_VERBOSE="yes"
+ts_log ""
+
+ts_log "Gregorian - Monday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ymw $MYTIME
+fi
+$TS_CMD_CAL -ymw $MYTIME >> $TS_OUTPUT
+
+ts_log "Gregorian - Sunday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ysw $MYTIME
+fi
+$TS_CMD_CAL -ysw $MYTIME >> $TS_OUTPUT
+
+
+ts_log "Julian - Monday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ymjw $MYTIME
+fi
+$TS_CMD_CAL -ymjw $MYTIME >> $TS_OUTPUT
+
+ts_log "Julian - Sunday-based week with week numbers"
+if [ "$USETERM" == "yes" ]; then
+       $TS_CMD_CAL -ysjw $MYTIME
+fi
+$TS_CMD_CAL -ysjw $MYTIME >> $TS_OUTPUT
+
+ts_finalize
+