View previous topic :: View next topic |
Author |
Message |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sat May 12, 2012 17:57 Post subject: Получение значения дня недели из имеющейся даты |
|
|
Есть список дат в текстовом файле в формате DD.MM.YYYY, каждая с новой строки.
Из него нужно получить значения дней недели для каждой даты.
Как? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 12, 2012 19:46 Post subject: |
|
|
Смотря на чём. На WSH - просто. Только неясно, зачем это надо, и куда эти значения девать. |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sat May 12, 2012 19:55 Post subject: |
|
|
Flasher
просто вывести на экран и, возможно, дописать в конец каждой строки через пробел (у меня каждая дата с новой строки)
если это осуществимо силами M$ Excel - такой вариант будет предпочтительнее |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 12, 2012 20:39 Post subject: |
|
|
Mellomann wrote: | просто вывести на экран и, возможно, дописать в конец каждой строки через пробел (у меня каждая дата с новой строки) | т.е. так?:
07
02
11
05
Так а зачем это нужно? И дописывают не в окне, а в файле, надо полагать?
Mellomann wrote: | если это осуществимо силами M$ Excel - такой вариант будет предпочтительнее | В Exel есть формулы с датами, наверняка можно. Но у меня под рукой мелкомягкого офиса нет, чтобы проверить. |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Sat May 12, 2012 21:21 Post subject: |
|
|
=ДЕНЬНЕД(...) |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sat May 12, 2012 22:36 Post subject: |
|
|
Serge Yolkin wrote: | =ДЕНЬНЕД(...) |
Оно самое, только пришлось дописать до вида =ДЕНЬНЕД(...;2). Ещё б умело оно буквенный вид давать - ваще супер было бы, но то уж не важно, задача и так решена...
Спаисибо! |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2692
|
(Separately) Posted: Sun May 13, 2012 00:05 Post subject: |
|
|
Mellomann wrote: | Ещё б умело оно буквенный вид давать |
=ВЫБОР(ДЕНЬНЕД(…;2);"Понедельник";"Вторник";"Среда";"Четверг";"Пятница";"Суббота";"Воскресенье") |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun May 13, 2012 00:34 Post subject: |
|
|
В самый раз! |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun May 13, 2012 01:05 Post subject: |
|
|
Code: | @echo off &setlocal enableextensions &chcp 866 >nul
:: Параметры: "файл с датами.txt"
>"%temp%\Weekday.vbs" echo WScript.Echo WeekDayName(Weekday(WScript.Arguments(0)),True)
for /f "usebackq" %%d in ("%~1") do (
for /f %%a in ('cscript /nologo "%temp%\Weekday.vbs" %%d') do call :chcp %%d %%a
)
move /y "%temp%\Weekday.tmp" "%~1"
goto :eof
:chcp
chcp 1251 >nul
echo %1 %2>>"%temp%\Weekday.tmp"
chcp 866 >nul
goto :eof
|
|
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Mon May 14, 2012 09:47 Post subject: |
|
|
sa
С воскресенья надо начинать... |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2692
|
(Separately) Posted: Mon May 14, 2012 10:03 Post subject: |
|
|
Serge Yolkin
Разве в России неделя начинается не в понедельник? |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Mon May 14, 2012 13:44 Post subject: |
|
|
sa
Не знаю, в MSO'2010(RUS) ДЕНЬНЕД возвращает "1" для воскресенья. |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2692
|
(Separately) Posted: Mon May 14, 2012 13:54 Post subject: |
|
|
Serge Yolkin
ДЕНЬНЕД(дата_в_числовом_формате;тип)
Для того и выбран тип 2.
Тип — это число, которое определяет тип возвращаемого значения.
1 или опущен Число от 1 (воскресенье) до 7 (суббота).
2 Число от 1 (понедельник) до 7 (воскресенье)
3 Число от 0 (понедельник) до 6 (воскресенье) |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Mon May 14, 2012 16:32 Post subject: |
|
|
sa
Не знал. |
|
Back to top |
|
 |
|