powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / to_char,dateadd,trunc,last_day и др.временные функции
1 сообщений из 1, страница 1 из 1
to_char,dateadd,trunc,last_day и др.временные функции
    #35961368
Tohan_ORA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Для собственных нужд для работы с датой ,датой-временем были разработаны несколько ограниченные функции-аналоги,библиотека приложена:
Код: plaintext
1.
2.
3.
4.
5.
6.
FUNCTION last_day
LPARAMETERS ldDate
*Пример
*v_date={^ 2009 - 04 - 12 } => {^ 2009 - 04 - 30 }
*v_date={^ 2009 - 04 - 12   12 : 03 : 09 } =>{^ 2009 - 04 - 30   12 : 03 : 09 }
LOCAL ldReturn
***возвращаем последний день месяца ,содержащ в заданной вх дате

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
FUNCTION get_name_month
**функция получения названия месяца по его номеру
**?get_name_month( 1 )
** январь
** n_month int
**v_p = 0  или пусто в нижнем регистре
**= 2  в верхнем регистре
**в других случаях Первая буква заглавная
**v_nls пусто по английски, в ином случае по русски
Lparameters n_month,v_p,v_nls

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
FUNCTION dateAdd
lPARAMETERS lcEdinica,lnKol_vo, ldDate
**dateadd('yy', 1 ,DATE()) прибавим к дате один год
*lcEdinica int:= year | quarter | month | week | day | hour | minute | second |
**ldDate date:= date() 
**or
**lddate datetime :=datetime()

Код: plaintext
1.
2.
FUNCTION TRUNC
***усечение даты
lPARAMETERS ldDate,lcEdinica

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
FUNCTION to_char
*преобразование значения даты-времени в комбинированную строку
	LPARAMETERS ldDate,v_format,v_nls
	*'yyyy-mm-dd' 'yyyy-MON-dd' 'yy-Month-dd'
	*dd-день месяца
	*mm-номер месяца в году  1 - 12 
	*mon- сокращ назв месяца
	*Month-полное название месяца
	*'hh24:mi:ss' 'hhAM:mi:ss'
	**v_nls пусто по английски, в ином случае по русски

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Пример:
SET DEFAULT TO c:\TEST\ANT_CLS\
SET CLASSLIB TO cls_dates
получим первый день месяца ,
последний день месяца,
название месяца по его номеру,
преобразуем дату-время в нужный формат(string) на русс и англ языках
WITH CREATEOBJECT('cls_dates')
?.trunc(DATE(),'mm')
?.last_day(DATE())
?.get_name_month(month(DATE()),, 1 )
?.to_char(DATETIME(),'hh24-mi:ss yyyy-Month^dd', 3 )
?.to_char(DATETIME(),'hh24:mi yyyy-MON^dd ss')
endwith

Если кто будет использовать и вдруг найдет ошибки просьба отписать сюда.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / to_char,dateadd,trunc,last_day и др.временные функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]