gpt4 book ai didi

Coldfusion 获取日期列表并将它们按正确的日期顺序排列

转载 作者:行者123 更新时间:2023-12-03 23:58:25 27 4
gpt4 key购买 nike

从数据库中获取分隔日期并将新日期添加到列表中,然后希望将所有日期按正确的日期顺序排列。

<cfparam default="" name="newDates">
<cfloop index="tm" from="#form.arrive#" to="#form.depart#" step="#createTimespan(1,0,0,0)#">

<cfset newDates = newDates & '#dateFormat( tm, "mm/dd/yyyy" )#,'>

</cfloop>
<cfset penddate = '#pmonthlist#, #newDates#'>

我怎样才能得到这个结果。

7/15/2012,7/16/2012,7/17/2012,7/18/2012,7/19/2012,7/20/2012,7/21/2012,9/21/2012 ,9/22/2012,9/28/2012,9/29/2012,04/01/2012,04/02/2012,04/03/2012,04/04/2012,04/05/2012,04/06/2012,04/07/2012,

像这样把它变成正确的日期顺序。 (这是我想要的结果)

04/01/2012,04/02/2012,04/03/2012,04/04/2012,04/05/2012,04/06/2012,04/07/2012,7/15/2012 ,7/16/2012,7/17/2012,7/18/2012,7/19/2012,7/20/2012,7/21/2012,9/21/2012,9/22/2012,9/28/2012,9/29/2012

最佳答案

更新: 解决方案 #0 - 只需使用 arraySort(dates, 'numeric') 对它们进行排序(在 Railo 中不起作用),请参阅:http://www.cfgears.com/index.cfm/2010/10/7/Using-an-array-to-sort-dates

解决方案 #1 - 对日期数组进行排序

  1. 使用 ListToArray()
  2. dates 列表转换为数组
  3. 遍历数组并将它们 DateFormat() 作为 YYYYMMDD
  4. ArraySort(dates, 'numeric')
  5. 再次循环遍历日期并 DateFormat() 将它们返回到 M/D/YYYY
  6. ArrayToList()

解决方案 #2 - 使用查询的查询

  1. 如果您有一个包含日期记录的查询对象,请跳至第 2 步。
  2. 将 myQuery 设置为 QueryNew('MyDate','Date')
  3. 遍历日期,并使用 QueryAddRow()QuerySetCell()
  4. 将它们添加到查询中
  5. 使用查询查询:SELECT MyDate FROM myQuery ORDER BY MyDate
  6. ValueList(myQuery.myDate)

解决方案 #3 - 使用 Java

  1. 将日期列表转换为数组
  2. 遍历数组,使用 javacast 将每个日期转换为 java.util.Date
  3. 在数组的java.util.Collections中调用sort()

解决方案 #4 - 使用 DateCompare()

  1. 将日期列表转换为数组
  2. 编写自己的排序算法(插入排序?冒泡排序?),使用 DateCompare() 比较日期。

解决方案 #5 - 使用数据库临时表

  1. 插入临时表
  2. 使用 ORDER BY
  3. 选择它们

关于Coldfusion 获取日期列表并将它们按正确的日期顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9935872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com