Я хотел бы добавить к дате случайное время от 1 до 30 минут, но ColdFusion, похоже, это не нравится. Он добавляет одинаковое количество минут к значению Now()
независимо от того, сколько раз я запускаю следующий код. Я не могу понять, почему.
<cfset DateFuture = DateTimeFormat(DateAdd('n', RandRange(1, 30), Now()), 'yyyy-mm-dd HH:mm:ss.l')/>
<cfoutput>#DateFuture#</cfoutput>
Мне нужен yyyy-mm-dd HH:mm:ss.l
DateTimeFormat, потому что так выглядят мои значения даты и времени в SQL Server, где я планирую вставить свою будущую дату.
Если я запускаю приведенный выше код, я продолжаю получать этот вывод:
2017-11-25 22:11:24, а затем внезапно изменится на 2017-11-25 21:11:16, что отнимает целый час, когда я только хочу добавить время!
Непонятно, почему он так себя ведет. Я нахожусь в Великобритании, но использую международный формат даты в формате SQL Server по умолчанию, как указано выше.
ОБНОВЛЕНИЕ: это опечатка! DateTimeFormat должен быть yyyy-mm-dd HH:nn:ss.l
. «nn» — это минуты, а не «мм». О!
volume one
, что функции CF должны работать, но я все же согласен с предложениемJames
использовать функции даты SQL, особенно если они в конечном итоге будут вставлены обратно в базу данных. Кроме того, маскировка даты в любом случае становится странной. Если вы работаете с датами, я НАСТОЯТЕЛЬНО рекомендую держать под рукой список ваших маскировок.mm
иnn
разочаровывают, но, повторюсь,YYYY
иyyyy
сведут вас с ума. - person Shawn   schedule 27.11.2017