0

我想生成一个 XML 文件,自 Unix 纪元(格林威治标准时间下午 3 点)以来,每隔三个日期到给定日期(例如,6 月 10 日)。像:

<timestamps>
    <timestamp time="1246000000" text="2011-06-10 15:00:00" />
</timestamps>

谢谢!我需要它在 PHP 中!

4

3 回答 3

1

不确定我是否完全理解你的问题,但这里有一些代码可以生成我猜你想要的东西。发送时间戳(自纪元以来的秒数)。

<?php

function generateXML($end_time){
    $three_days = 3 * 24 * 3600;

    echo "<timestamps>\n";
    for ($stamp = 15 * 60 * 60; $stamp < $end_time; $stamp += $three_days){
        $text = date('Y-m-d H:i:s', $stamp);
        echo "<timestamp time=\"$stamp\" text=\"$text\" />\n";
    }
    echo "</timestamps>";
}

# up to now: 
generateXML(time());
?>
于 2011-02-25T07:52:04.330 回答
0

#!/usr/bin/python
import time
unixtime, datestring = 15 * 60 * 60, ''
while datestring < '2011-06-10 15:00:00':
 datestring = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(unixtime))
 print '<timestamps>'
 print '    <timestamp time="%s" text="%s" />' % (unixtime, datestring)
 print '</timestamps>'
 unixtime += (60 * 60 * 24 * 3)
于 2011-02-25T07:02:07.000 回答
0

下面是代码(你可以改进一点,但你明白了)。

import java.util.*;
import java.lang.*;

class Main
{
        public static void main (String[] args) throws java.lang.Exception
        {
        String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
java.text.SimpleDateFormat sdf = 
      new java.text.SimpleDateFormat(DATE_FORMAT);

                Calendar c=Calendar.getInstance();
                c.setTimeInMillis(0);//reset to epoch
                System.out.println(c.getTime());

                Date d=new Date(1970,6,10);
                Calendar inputDate=Calendar.getInstance();
                inputDate.setTime(d);

                while(c.before(inputDate))
                {
                c.add(Calendar.DATE,3);
                System.out.println(sdf.format(c.getTime()));
                }

        }
}

在此处运行示例

于 2011-02-25T07:08:17.953 回答