none
.net 中如何将秒转成日期 RRS feed

答案


  • 您好,您的意思是要將秒轉天數嗎?

     int second = 100000; // 秒
    
     double day = second / 86400; // 秒除以 86400 = 天數
    
    

    假如您是指某日期要加上秒數得到新的日期,可使用 DateTime.Add 方法


    歡迎參觀我的Blog.NET菜鳥自救會

    谢谢关注,但我的意思是这样的把秒转成标准的时间,如"17837392349" 秒,返回结果 2010-12-20 12:20:34 ,不知如何实现,java中很快,但.net就不知了。谢谢。

    你说的Java是用的java.util.Date的这个构造函数么?

    Date(long date) 

              Allocates a Date object and initializes it to represent the specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.

    根据文档,该构造函数会生成一个Date对象,其时间为从1970年1月1日临晨起,后推若干毫秒。

     

    类似的,.NET中的System.DateTime也有这个构造函数:

    public DateTime(
    	long ticks
    )

    Parameters

    ticks
    Type: System.Int64
    A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar. 

     

    该构造函数会生成一个DateTime对象,其时间为从0001年1月1日临晨起,后推若干100纳秒。

     

    若你想用C#达到跟Java一样的效果,可以先创建一个DateTime对象,使得其为1970年1月1日临晨,然后再加上若干秒。

    代码如此:

     

    DateTime e = new DateTime(1970, 1, 1);

    e = e.AddSeconds(17837392349L);

     

     

     

     

     


    MCPD (Windows & Web)
    2010年10月20日 14:39

全部回复

  • 您好,您的意思是要將秒轉天數嗎?

          int second = 100000; // 秒
          double day = second / 86400; // 秒除以 86400 = 天數
    

    假如您是指某日期要加上秒數得到新的日期,可使用 DateTime.Add 方法


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年10月20日 12:10
  • 您好,您的意思是要將秒轉天數嗎?

       int second = 100000; // 秒
    
       double day = second / 86400; // 秒除以 86400 = 天數
    
    

    假如您是指某日期要加上秒數得到新的日期,可使用 DateTime.Add 方法


    歡迎參觀我的Blog.NET菜鳥自救會

    谢谢关注,但我的意思是这样的把秒转成标准的时间,如"17837392349" 秒,返回结果 2010-12-20 12:20:34 ,不知如何实现,java中很快,但.net就不知了。谢谢。
    2010年10月20日 13:52

  • 您好,您的意思是要將秒轉天數嗎?

     int second = 100000; // 秒
    
     double day = second / 86400; // 秒除以 86400 = 天數
    
    

    假如您是指某日期要加上秒數得到新的日期,可使用 DateTime.Add 方法


    歡迎參觀我的Blog.NET菜鳥自救會

    谢谢关注,但我的意思是这样的把秒转成标准的时间,如"17837392349" 秒,返回结果 2010-12-20 12:20:34 ,不知如何实现,java中很快,但.net就不知了。谢谢。

    你说的Java是用的java.util.Date的这个构造函数么?

    Date(long date) 

              Allocates a Date object and initializes it to represent the specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.

    根据文档,该构造函数会生成一个Date对象,其时间为从1970年1月1日临晨起,后推若干毫秒。

     

    类似的,.NET中的System.DateTime也有这个构造函数:

    public DateTime(
    	long ticks
    )

    Parameters

    ticks
    Type: System.Int64
    A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar. 

     

    该构造函数会生成一个DateTime对象,其时间为从0001年1月1日临晨起,后推若干100纳秒。

     

    若你想用C#达到跟Java一样的效果,可以先创建一个DateTime对象,使得其为1970年1月1日临晨,然后再加上若干秒。

    代码如此:

     

    DateTime e = new DateTime(1970, 1, 1);

    e = e.AddSeconds(17837392349L);

     

     

     

     

     


    MCPD (Windows & Web)
    2010年10月20日 14:39
  • 补充:如果直接传入秒的数目,从0001年开始:

    DateTime d = new DateTime(int.MaxValue);
                Console.WriteLine(d);

    输出0001/1/1……什么的。

    2010年10月21日 2:36
    版主