Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Получение значения дня недели из имеющейся даты

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sat May 12, 2012 17:57    Post subject: Получение значения дня недели из имеющейся даты Reply with quote

Есть список дат в текстовом файле в формате DD.MM.YYYY, каждая с новой строки.
Из него нужно получить значения дней недели для каждой даты.

Как?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat May 12, 2012 19:46    Post subject: Reply with quote

Смотря на чём. На WSH - просто. Только неясно, зачем это надо, и куда эти значения девать.
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sat May 12, 2012 19:55    Post subject: Reply with quote

Flasher
просто вывести на экран и, возможно, дописать в конец каждой строки через пробел (у меня каждая дата с новой строки)

если это осуществимо силами M$ Excel - такой вариант будет предпочтительнее
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat May 12, 2012 20:39    Post subject: Reply with quote

Mellomann wrote:
просто вывести на экран и, возможно, дописать в конец каждой строки через пробел (у меня каждая дата с новой строки)
т.е. так?:
07
02
11
05
Так а зачем это нужно? И дописывают не в окне, а в файле, надо полагать?

Mellomann wrote:
если это осуществимо силами M$ Excel - такой вариант будет предпочтительнее
В Exel есть формулы с датами, наверняка можно. Но у меня под рукой мелкомягкого офиса нет, чтобы проверить.
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sat May 12, 2012 21:21    Post subject: Reply with quote

=ДЕНЬНЕД(...)
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sat May 12, 2012 22:36    Post subject: Reply with quote

Serge Yolkin wrote:
=ДЕНЬНЕД(...)

Оно самое, только пришлось дописать до вида =ДЕНЬНЕД(...;2). Ещё б умело оно буквенный вид давать - ваще супер было бы, но то уж не важно, задача и так решена...
Спаисибо!
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Sun May 13, 2012 00:05    Post subject: Reply with quote

Mellomann wrote:
Ещё б умело оно буквенный вид давать

=ВЫБОР(ДЕНЬНЕД(…;2);"Понедельник";"Вторник";"Среда";"Четверг";"Пятница";"Суббота";"Воскресенье")
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sun May 13, 2012 00:34    Post subject: Reply with quote

В самый раз!
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sun May 13, 2012 01:05    Post subject: Reply with quote

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
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Mon May 14, 2012 09:47    Post subject: Reply with quote

sa
С воскресенья надо начинать...
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Mon May 14, 2012 10:03    Post subject: Reply with quote

Serge Yolkin
Разве в России неделя начинается не в понедельник?
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Mon May 14, 2012 13:44    Post subject: Reply with quote

sa
Не знаю, в MSO'2010(RUS) ДЕНЬНЕД возвращает "1" для воскресенья.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2692

Post (Separately) Posted: Mon May 14, 2012 13:54    Post subject: Reply with quote

Serge Yolkin
ДЕНЬНЕД(дата_в_числовом_формате;тип)
Для того и выбран тип 2.
Тип — это число, которое определяет тип возвращаемого значения.
1 или опущен Число от 1 (воскресенье) до 7 (суббота).
2 Число от 1 (понедельник) до 7 (воскресенье)
3 Число от 0 (понедельник) до 6 (воскресенье)
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Mon May 14, 2012 16:32    Post subject: Reply with quote

sa
Не знал.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group