LINUX.ORG.RU

Нужно просто отформатировать дату и кодировку в Cl


0

1

Здравствуйте, я долго думал писать или нет всё таки предыдущая дискусия на тему почему лисп плох ещё не закончилась, но вопрос появился в другом. 1. Мне нужно вставить в текст, который выводится в файл, дату в формате YYYY-MM-dd HH:mm просмотрел нигму не нашел. На hiperspec нашел только эмммммм если не ошибаюсь get-encoding-date(писал с памяти) но она просто возвращает последовательно полную дату. Что в принципе неплохо но нужно писать велосипед(ну то есть надеюсь уже написано) что бы вывести нормально. 2.Нужно сохранить текст в определённой кодировке, сейчас это «UTF-8», по умолчанию сохраняется «CP:1251».

(defun decode-universal-time-to-str (universal-time)
  (multiple-value-bind (seconds minute	hour date month year)
      (decode-universal-time universal-time)
    (format nil "~2,'0d/~2,'0d ~2,'0d:~2,'0d:~2,'0d" month date hour minute seconds)))


anonymous
()
(defun format-universal-time
    (&optional (universal-time (get-universal-time)) out)
  (declare (type unsigned-byte universal-time)
           (type (or string stream (eql nil)(eql t)) out))
  (multiple-value-bind
      (sec minute hour day month year dw dst timezone)
      (decode-universal-time universal-time)
    (declare (ignore sec dw dst timezone))
    (format out "~4,'0d-~2,'0d-~2,'0d ~2,'0d:~2,'0d"
            year month day hour minute)))
(format-universal-time (encode-universal-time 0 59 23 31 12 2012))
;; => "2012-12-31 23:59"
anonymous
()
Ответ на: комментарий от RusNekromant

> Ну попробую ещё раз в прошлый раз не вышло.

Ты офигел что ли? Пости тут - годные треды выходят.

anonymous
()
Ответ на: комментарий от anonymous

Ну заявки анонимуса не могу пропустить мимо ушей)))) Ждите новых)))

RusNekromant
() автор топика
Ответ на: комментарий от RusNekromant

> Ну попробую ещё раз в прошлый раз не вышло.

Что значит не вышло? Ты главное письмо в спаме ищи и всё у тебя получится.

Правда прям сейчас сервер нестабилен, ибо мы на нём... короче работает )

archimag ★★★
()

2) http://weitz.de/flexi-streams/

(with-open-file (out "filename.txt"
                     :direction :output
                     :if-exists :supersede
                     :element-type '(unsigned-byte 8))
  (let ((out (flex:make-flexi-stream out
                :external-format (flex:make-external-format :utf-8))))
    (write-line (map 'string #'code-char
                  '(1090 1077 1082 1089 1090 32 1074 32 117 116 102 45 56))
                out)))

anonymous
()
Ответ на: комментарий от archimag

Да я зарегился где-то пол года назад или чуть больше. Письмо пришло но вот зайти не могу мне писало какая то ошибка базы.... ну я точно не помню номер ошибки но не получилось, зайти. Может это было временно но больше не пробовал.

RusNekromant
() автор топика
Ответ на: комментарий от archimag

Только можно проще сделать(по аналогии догадался)

(with-open-file (strem  "C:\\Users\\a.voloschuk\\Desktop\\myfile.xml") :direction :output :if-exists :supersede :external-format :utf-8))
RusNekromant
() автор топика

я den73

По-моему, это FAQ

anonymous
()
Ответ на: комментарий от RusNekromant

> Письмо пришло но вот зайти не могу мне писало какая то ошибка базы

Это ты что-то фантазируешь. Никаких подобных сообщений там в принципе быть не может ) Когда случается ошибка, то просто Internal Error, без вариантов.

archimag ★★★
()
Ответ на: комментарий от RusNekromant

> Ну у меня не отображалось что я вошел.

Там есть такой небольшой глюк, что сразу после потверждения регистрации осуществляется вход, но при этом интерфейс не обновляется. Но, блин, мне казалось, что это не должно вызывать паники, просто зашёл на главную и всё увидел.

archimag ★★★
()
Ответ на: комментарий от archimag

Ну вот всё таки есть проблемки у некоторых людей)))) Кста неплохо было бы что бы писалось что пользователь уже вошел на русском и не в формате ошибки, я понимаю что инглиш стоит учить но всё таки русский сайт.

RusNekromant
() автор топика
Ответ на: комментарий от RusNekromant

> Кста неплохо было бы что бы писалось что пользователь уже вошел

на русском и не в формате ошибки


Да там нет ошибки ) Там просто недоработка. При поиске маршрута, отвечающего за /login, проводится проверка, вошёл ли уже пользователь. Для невошедших пользователей такой маршрут есть. А для уже вошедших - нет. В итоге - выдаётся стандартная 404-страница. Там просто нужно добавить ещё один маршрут. Патчи приветствуются.

archimag ★★★
()
Ответ на: комментарий от archimag

Он хотел сказать, что после регистрации пользователя надо перебрасывать редиректом куда-нибудь в приличное место.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

> Он хотел сказать, что после регистрации пользователя надо

перебрасывать редиректом куда-нибудь в приличное место.


Там вообще показывается сообщение, что регистрация прошла успешно. Но эксперта по юзабилити я из себя ни в коем случае не строю. Просто не понятно, как это было увязано с «мощью коммон лиспа».

archimag ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.