Если вы имели в виду местный часовой пояс пользователя, вы должны использовать это:
moment("8:00:00","H:mm:ss").utc().format()
H
для 24-часовых часов, h
для 12-часовых Часы. Хотя это не обязательно имеет значение для 8 утра, должен быть какой-то способ узнать, что ты не имел в виду 8 вечера. (Предполагается, что 8 вечера будет 20:00:00
).
Вам не нужна функция tz
момента-времени. Вам вообще не нужен момент-часовой пояс, если только ваши исходные данные не находятся в произвольном произвольном часовом поясе, а не в местном часовом поясе пользователя.
Используйте format
вместо toString
. Если вы хотите получить вывод в определенном формате , обратитесь к документации для аргументов, которые вы можете передать этой функции.
Если вы на самом деле имели в виду произвольный часовой пояс с идентификатором часового пояса IANA, например America/New_York
, то вместо этого он должен выглядеть следующим образом:
moment.tz("8:00:00","H:mm:ss","America/New_York").utc().format()
И наконец, если это новый проект, ориентированный на современные среды, команда Moment рекомендует вам вместо этого использовать Luxon . Luxon получает поддержку своего часового пояса от самой окружающей среды и, следовательно, имеет гораздо меньшие размеры.
luxon.DateTime.fromFormat('8:00:00', 'H:mm:ss', { zone: 'America/New_York'})
.toUTC().toString()
SELECT DATEADD(qq, DATEDIFF(qq, - 1, '3/5/09'), - 1)
Это могло использовать некоторый рефакторинг, но должно получить общее представление через.
<cffunction name="lastDayOfQuarter">
<cfargument name="d" default="#now()#">
<cfif month(d) lte 3>
<cfreturn createDate(year(d),03,31)>
</cfif>
<cfif month(d) lte 6>
<cfreturn createDate(year(d),06,30)>
</cfif>
<cfif month(d) lte 9>
<cfreturn createDate(year(d),9,30)>
</cfif>
<cfreturn createDate(year(d),12,31)>
</cffunction>
Этот ответ использует созданный в функциях Четверти и DaysInMonth:
#createDate(year(now()), (quarter(now())*3), daysInMonth(createDate(year(now()), quarter(now())*3,1)) )#
Могло бы быть легче читать если его вспыхнувший немного.
РЕДАКТИРОВАНИЕ (@Sam Фермер: Я брал на себя смелость для преобразования предложения в функцию CF),
<cffunction name="LastOfQuarter" returntype="date" output="no" access="public">
<cfargument name="d" type="date" required="no" default="#Now()#">
<cfset d = CreateDate(Year(d), Quarter(d) * 3, 1)>
<cfreturn DateAdd("d", d, DaysInMonth(d) - 1)>
</cffunction>
Получить четверть от определенной даты:
SELECT dateadd(dd,-1,dateadd(qq,1,DATEADD(qq, DATEDIFF(qq,0,<date here>), 0)))
Или если Вы имеете в виду текущую четверть:
SELECT dateadd(dd,-1,dateadd(qq,1,DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)))