Получить текущую дату, включая миллисекунды

Мне нужно отслеживать текущее системное время, включая миллисекунды, с помощью ColdFusion 11. Я использую функцию Now(), но она выводит дату следующим образом: {ts '2017-01-11 06:48:58'}. Мне также нужно включить миллисекунды. Пожалуйста, дай мне знать.


person sruthi    schedule 11.01.2017    source источник


Ответы (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
comment
Да, не доверяйте строковому представлению дат и чисел по умолчанию. Они не всегда полностью точны. Если вам нужны и дата, и время, в CF11 вы также можете использовать DateTimeFormat, т.е. DateTimeFormat(currentTime, "yyyy-mm-dd HH:nn:ss.L"). Обратите внимание, что в отличие от TimeFormat, он использует n для часов вместо m. - person Leigh; 11.01.2017
comment
Лол... хороший улов. Недостаточно кофеина. Да, я определенно имел в виду n минут, а не часов. - person Leigh; 11.01.2017