module Time (
ClockTime,
Month(January,February,March,April,May,June,
July,August,September,October,November,December),
Day(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday),
CalendarTime(CalendarTime, ctYear, ctMonth, ctDay, ctHour, ctMin,
ctSec, ctPicosec, ctWDay, ctYDay,
ctTZName, ctTZ, ctIsDST),
TimeDiff(TimeDiff, tdYear, tdMonth, tdDay, tdHour,
tdMin, tdSec, tdPicosec),
getClockTime, addToClockTime, diffClockTimes,
toCalendarTime, toUTCTime, toClockTime,
calendarTimeToString, formatCalendarTime ) where
import Ix(Ix)
data ClockTime = ... - Зависит от реализации
instance Ord ClockTime where ...
instance Eq ClockTime where ...
data Month = January | February | March | April
| May | June | July | August
| September | October | November | December
deriving (Eq, Ord, Enum, Bounded, Ix, Read, Show)
data Day = Sunday | Monday | Tuesday | Wednesday | Thursday
| Friday | Saturday
deriving (Eq, Ord, Enum, Bounded, Ix, Read, Show)
data CalendarTime = CalendarTime {
ctYear :: Int,
ctMonth :: Month,
ctDay, ctHour, ctMin, ctSec :: Int,
ctPicosec :: Integer,
ctWDay :: Day,
ctYDay :: Int,
ctTZName :: String,
ctTZ :: Int,
ctIsDST :: Bool
} deriving (Eq, Ord, Read, Show)
data TimeDiff = TimeDiff {
tdYear, tdMonth, tdDay, tdHour, tdMin, tdSec :: Int,
tdPicosec :: Integer
} deriving (Eq, Ord, Read, Show)
- Функции со временем
getClockTime :: IO ClockTime
addToClockTime :: TimeDiff -> ClockTime -> ClockTime
diffClockTimes :: ClockTime -> ClockTime -> TimeDiff
toCalendarTime :: ClockTime -> IO CalendarTime
toUTCTime :: ClockTime -> CalendarTime
toClockTime :: CalendarTime -> ClockTime
calendarTimeToString :: CalendarTime -> String
formatCalendarTime :: TimeLocale -> String -> CalendarTime -> String
Библиотека Time обеспечивает стандартные функциональные возможности работы со временем системных часов, включая информацию о часовых поясах. Она соответствует RFC 1129 в его использовании всеобщего скоординированного времени (
ClockTime является абстрактным типом, который используется для системных внутренних часов (системного внутреннего генератора тактовых импульсов). Такты системных часов можно сравнивать непосредственно или после преобразования их в календарное время CalendarTime для ввода - вывода или других манипуляций. CalendarTime является удобным для использования и манипулирования представлением внутреннего типа ClockTime. Числовые поля имеют следующие диапазоны:
| Значение | Диапазон | Комментарии | |
|---|---|---|---|
ctYear |
-maxInt... |
maxInt |
Даты до григорианских являются ошибочными |
ctDay |
1... | 31 | |
ctHour |
0... | 23 | |
ctMin |
0... | 59 | |
ctSec |
0... | 61 | Допускает до двух скачков секунд |
ctPicosec |
0... | (1012)-1 | |
ctYDay |
0... | 365 | 364 в невисокосные годы |
ctTZ |
-89999... | 89999 | Отклонение от |
Поле ctTZName -- это название часового пояса. Значение поля ctIsDST равно True, если имеет место летнее время, и False иначе. Тип TimeDiff регистрирует различия между двумя тактами системных часов в удобной для использования форме.
Функция getClockTime возвращает текущее время в его внутреннем представлении. Выражение addToClockTime d t складывает разницу во времени d и время системных часов t, чтобы получить новое время системных часов. Разница d может быть положительной или отрицательной. Выражение diffClockTimes t1 t2 возвращает разницу между двумя значениями системных часов t1 и t2, как и TimeDiff.
Функция toCalendarTime t преобразовывает t в местное время в соответствии с
Функция toUTCTime t преобразовывает t в CalendarTime в стандартном формате toClockTime l преобразовывает l в соответствующее внутреннее значение ClockTime, игнорируя содержимое полей ctWDay, ctYDay, ctTZName и ctIsDST.
Функция calendarTimeToString форматирует значения календарного времени, используя национальные особенности и строку форматирования.
module Time (
ClockTime,
Month(January,February,March,April,May,June,
July,August,September,October,November,December),
Day(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday),
CalendarTime(CalendarTime, ctYear, ctMonth, ctDay, ctHour, ctMin,
ctSec, ctPicosec, ctWDay, ctYDay,
ctTZName, ctTZ, ctIsDST),
TimeDiff(TimeDiff, tdYear, tdMonth, tdDay,
tdHour, tdMin, tdSec, tdPicosec),
getClockTime, addToClockTime, diffClockTimes,
toCalendarTime, toUTCTime, toClockTime,
calendarTimeToString, formatCalendarTime ) where
import Ix(Ix)
import Locale(TimeLocale(..),defaultTimeLocale)
import Char ( intToDigit )
data ClockTime = ... - Зависит от реализации
instance Ord ClockTime where ...
instance Eq ClockTime where ...
data Month = January | February | March | April
| May | June | July | August
| September | October | November | December
deriving (Eq, Ord, Enum, Bounded, Ix, Read, Show)
data Day = Sunday | Monday | Tuesday | Wednesday | Thursday
| Friday | Saturday
deriving (Eq, Ord, Enum, Bounded, Ix, Read, Show)
data CalendarTime = CalendarTime {
ctYear :: Int,
ctMonth :: Month,
ctDay, ctHour, ctMin, ctSec :: Int,
ctPicosec :: Integer,
ctWDay :: Day,
ctYDay :: Int,
ctTZName :: String,
ctTZ :: Int,
ctIsDST :: Bool
} deriving (Eq, Ord, Read, Show)
data TimeDiff = TimeDiff {
tdYear, tdMonth, tdDay, tdHour, tdMin, tdSec :: Int,
tdPicosec :: Integer
} deriving (Eq, Ord, Read, Show)
getClockTime :: IO ClockTime
getClockTime = ... - Зависит от реализации
addToClockTime :: TimeDiff -> ClockTime -> ClockTime
addToClockTime td ct = ... - Зависит от реализации
diffClockTimes :: ClockTime -> ClockTime -> TimeDiff
diffClockTimes ct1 ct2 = ... - Зависит от реализации
toCalendarTime :: ClockTime -> IO CalendarTime
toCalendarTime ct = ... - Зависит от реализации
toUTCTime :: ClockTime -> CalendarTime
toUTCTime ct = ... - Зависит от реализации
toClockTime :: CalendarTime -> ClockTime
toClockTime cal = ... - Зависит от реализации
calendarTimeToString :: CalendarTime -> String
calendarTimeToString = formatCalendarTime defaultTimeLocale "%c"
formatCalendarTime :: TimeLocale -> String -> CalendarTime -> String
formatCalendarTime l fmt ct@(CalendarTime year mon day hour min sec sdec
wday yday tzname _ _) =
doFmt fmt
where doFmt ('%':c:cs) = decode c ++ doFmt cs
doFmt (c:cs) = c : doFmt cs
doFmt "" = ""
to12 :: Int -> Int
to12 h = let h' = h `mod` 12 in if h' == 0 then 12 else h'
decode 'A' = fst (wDays l !! fromEnum wday)
decode 'a' = snd (wDays l !! fromEnum wday)
decode 'B' = fst (months l !! fromEnum mon)
decode 'b' = snd (months l !! fromEnum mon)
decode 'h' = snd (months l !! fromEnum mon)
decode 'C' = show2 (year `quot` 100)
decode 'c' = doFmt (dateTimeFmt l)
decode 'D' = doFmt "%m/%d/%y"
decode 'd' = show2 day
decode 'e' = show2' day
decode 'H' = show2 hour
decode 'I' = show2 (to12 hour)
decode 'j' = show3 yday
decode 'k' = show2' hour
decode 'l' = show2' (to12 hour)
decode 'M' = show2 min
decode 'm' = show2 (fromEnum mon+1)
decode 'n' = "\n"
decode 'p' = (if hour < 12 then fst else snd) (amPm l)
decode 'R' = doFmt "%H:%M"
decode 'r' = doFmt (time12Fmt l)
decode 'T' = doFmt "%H:%M:%S"
decode 't' = "\t"
decode 'S' = show2 sec
decode 's' = ... - Зависит от реализации
decode 'U' = show2 ((yday + 7 - fromEnum wday) `div` 7)
decode 'u' = show (let n = fromEnum wday in
if n == 0 then 7 else n)
decode 'V' =
let (week, days) =
(yday + 7 - if fromEnum wday > 0 then
fromEnum wday - 1 else 6) `divMod` 7
in show2 (if days >= 4 then
week+1
else if week == 0 then 53 else week)
decode 'W' =
show2 ((yday + 7 - if fromEnum wday > 0 then
fromEnum wday - 1 else 6) `div` 7)
decode 'w' = show (fromEnum wday)
decode 'X' = doFmt (timeFmt l)
decode 'x' = doFmt (dateFmt l)
decode 'Y' = show year
decode 'y' = show2 (year `rem` 100)
decode 'Z' = tzname
decode '%' = "%"
decode c = [c]
show2, show2', show3 :: Int -> String
show2 x = [intToDigit (x `quot` 10), intToDigit (x `rem` 10)]
show2' x = if x < 10 then [ ' ', intToDigit x] else show2 x
show3 x = intToDigit (x `quot` 100) : show2 (x `rem` 100)
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.