时间间隔将取决于您的显示区域。您需要考虑到您选择的字体中图形的宽度(我假设时间在X轴上)和日期字符串的宽度,以便得出一个好的比例尺。基本算法如下:- 扫描日期列表以查找最小值和最大值。 - 将图形宽度除以日期字符串宽度(如果*两个*宽度都是常数,则可以使用一次结果存储在变量中)。如果您使用等宽字体和MM-DD-YYYY日期格式,则此步骤将更容易。如果您使用可变宽度字体和拼写月份名称的日期格式,则需要添加额外的填充来确保每个日期字符串具有相同的宽度。请注意,我说的是*额外*填充。即使您使用固定日期格式,您也需要至少添加一个空格来避免拥挤。我将其称为`ticks`,因为它完全是基于您图形的宽度而确定的刻度线数量。 - 计算您的最小日期和最大日期之间有多少天(包括这两个日期)。如何计算这将取决于您使用的语言。希望您有好的日期和日历实现可供借鉴。我只是称其为`days`。 - 使用公式`interval = days / (ticks - 1)`计算刻度线间隔。 - 通过将`interval`添加到您的最小日期,直到达到您的最大日期,确定哪些日期落在刻度线间隔上。同样,这将取决于您使用的语言。