Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> День недели (dayofweek)
Fors1k
сообщение 28.4.2019, 2:58
Сообщение #1


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2420
Пользователь №: 18.746



Нужно что бы скрипт всегда знал сегодняшний день месяца и день недели.
Код
set $a dayfromdate(datenow)
set $b dayofweek(datenow)
log $a
log $b
end_script


В лог день месяца выдает, а день недели - пустая строка.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 28.4.2019, 10:40
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



dayofweek старая функция, принимает дату как 3 отдельных параметра, т. е. вместо 28.05.2019 надо передать 28 05 2019.
Код
set $date string_replace(datenow, ".", " ", "all")  // заменить точки на пробел
set $b dayofweek($date)
log $b
end_script
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 28.4.2019, 12:58
Сообщение #3


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2420
Пользователь №: 18.746



Цитата(cirus @ 28.4.2019, 10:40) *

Код
set $date string_replace(datenow, ".", " ", "all")  // заменить точки на пробел
set $b dayofweek($date)
log $b
end_script


Запустил этот скрипт. В логе единица, но сегодня не понедельник.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 28.4.2019, 14:08
Сообщение #4


********

Master
Сообщений: 1.394
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 20893
Пользователь №: 16.156



Верно. Так и должно быть. Счет идет с воскресенья.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 28.4.2019, 14:39
Сообщение #5


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2420
Пользователь №: 18.746



Цитата(Cockney @ 28.4.2019, 14:08) *

Верно. Так и должно быть. Счет идет с воскресенья.

Это по Вьетнамскому календарю?=)
WKnight, А можно бы пофиксить обе эти проблемы?
Что бы
Код
set $b dayofweek(datenow)
log $b
end_script

возвращал в среду "3", и работал без танцев со string_replace, как работают и все другие команды с datenow ( например dayfromdate(datenow) ) , заранее благодарю.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 28.4.2019, 15:15
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Там ещё и год вначале
Цитата
dayofweek (<Year> <Month> <Day>)

Так что так:
Код
set $date string_replace(datenow, ".", " ", "all")  // заменить точки на пробел
init_arr %a $date
set $b dayofweek(%a[3] %a[2] %a[1])
log $b
end_script

0 - воскресенье
1 - понедельник
и т. д.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 15:50
Designed by Nickostyle