自Unix Epoch以来生成XML日期

时间:2011-02-25 06:45:15

标签: php xml timestamp epoch

我想生成一个XML文件,每个第三个日期到达给定日期(例如, 自Unix时代以来,格林威治标准时间下午3点。像:

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

谢谢! 我需要用PHP!

3 个答案:

答案 0 :(得分: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());
?>

答案 1 :(得分: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)

答案 2 :(得分: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()));
                }

        }
}

示例运行here