Мне нужно отслеживать текущее системное время, включая миллисекунды, с помощью ColdFusion 11. Я использую функцию Now()
, но она выводит дату следующим образом: {ts '2017-01-11 06:48:58'}
. Мне также нужно включить миллисекунды. Пожалуйста, дай мне знать.
Получить текущую дату, включая миллисекунды
Ответы (1)
Миллисекунды есть, и вы можете получить их, используя функцию TimeFormat()
ColdFusion. Вот пример кода, показывающий это:
<cfscript>
currentTime = Now();
writeOutput('<p>' & currentTime & '</p>');
formattedTime = TimeFormat(currentTime,'HH:mm:ss.l');
writeOutput('<p>' & formattedTime & '</p>');
</cfscript>
<!--- which outputs the following --->
{ts '2017-01-11 13:10:03'}
13:10:03.827
Первый бит кода показывает стандартный формат отображения, на который вы ссылались. Второй бит использует функцию TimeFormat()
, чтобы также включить миллисекунды, используя опцию маски l
.
Вот суть этого кода, чтобы вы могли увидеть его в действии — пример TimeFormat на trycf. ком
С помощью этой функции вам доступно несколько вариантов форматирования.
Маскирующие символы, определяющие формат:
- ч: часы; нет начального нуля для одноразрядных часов (12-часовые часы)
- чч: часы; начальный ноль для одноразрядных часов (12-часовые часы)
- Ч: часы; нет начального нуля для одноразрядных часов (24-часовой формат)
- ЧЧ: часы; начальный ноль для одноразрядных часов (24-часовой формат)
- м: минуты; нет начального нуля для одноразрядных минут
- мм: минуты; начальный ноль для одноразрядных минут
- с: секунды; нет начального нуля для одноразрядных секунд
- сс: секунды; начальный ноль для одноразрядных секунд
- l или L: миллисекунды без начальных нулей
- t: односимвольная строка маркера времени, например A или P.
- tt: строка маркера времени, состоящая из нескольких символов, например, AM или PM.
- короткий: эквивалентно h:mm tt
- средний: эквивалентно h:mm:ss tt
- длинный: средний, за которым следует трехбуквенный часовой пояс; как в 14:34:55 EST
- полный: такой же, как и длинный
Из документации Adobe ColdFusion здесь
Если вам все еще нужна часть даты объекта, используйте функцию DateFormat()
для отображения этой части.
person
Miguel-F
schedule
11.01.2017
Да, не доверяйте строковому представлению дат и чисел по умолчанию. Они не всегда полностью точны. Если вам нужны и дата, и время, в CF11 вы также можете использовать DateTimeFormat, т.е.
DateTimeFormat(currentTime, "yyyy-mm-dd HH:nn:ss.L")
. Обратите внимание, что в отличие от TimeFormat, он использует n
для часов вместо m
.
- person Leigh; 11.01.2017
Лол... хороший улов. Недостаточно кофеина. Да, я определенно имел в виду
n
минут, а не часов.
- person Leigh; 11.01.2017