标题
    
    
        C里面的time_t怎么对应到java的类型,C和java都熟的进 [zt]
    
 
    
 	 
       
    
    clq
    
    
    
		
        浏览(0) + 
        2009-09-05 22:08:17 发表
        
编辑
         
        
        
        
        关键字: 
        
 
        
        
        
        
                
        C里面的time_t怎么对应到java的类型,C和java都熟的进 [zt]
楼主pateric(pateric)2005-03-04 09:54:06 在 Java / J2SE / 基础类 提问
C里面的一个time_t是个long,大部分编译器是4位  
  java里的long是个8位的。  
  怎么能在java里把C传出来的一个time_t(即long)值转为时间呢? 问题点数:20、回复次数:8Top
1 楼irvine007(┣━┫Rvine)回复于 2005-03-04 10:43:52 得分 5
可以通过year,   month,   day,   hour   ....  
  来传递啊。Top
2 楼pateric(pateric)回复于 2005-03-04 11:21:46 得分 0
那个我知道是可以的,  
  不过现在的问题是C那边传出来的已经固定死了是一个time_t  
  还有什么办法可以在我这边用java把他解释过来?Top
3 楼eureka0891(迷茫中...)回复于 2005-03-04 11:28:39 得分 5
...你把他传过来的值转一下,转成date或者Calander不就行了,  
  这样更方便,而且功能也更强大,  
  你为什么一定要用long来表示?Top
4 楼pateric(pateric)回复于 2005-03-04 11:55:36 得分 0
这样说吧  
  他那边传出一个值是   1109908431   (表示的时间是Fri   Mar   04   11:53:51   2005)  
  我怎么把这个1109908431   转成时间?Top
5 楼zjpangxie(专用马甲)回复于 2005-03-04 12:02:58 得分 10
GregorianCalendar   gc   =   new   GregorianCalendar();  
   
  gc.setTimeInMillis(time_t);Top
6 楼pateric(pateric)回复于 2005-03-04 12:21:20 得分 0
to   zjpangxie(本命年,别惹我)    
  好像是不对的,  
  System.out.println(gc.getTime());  
  显示时间:Wed   Jan   14   04:18:20   CST   1970  
  已经不是原来的   Fri   Mar   04   11:53:51   2005  
  这应该就是c的4位整形和java的8位整形引起的吧?Top
7 楼zjpangxie(专用马甲)回复于 2005-03-04 13:13:00 得分 0
我只是指出应该用的方法  
   
  setTimeInMillis的参数是1970年开始到现在的毫秒数,所以你取得time_t后要先乘以1000再传进去Top
8 楼pateric(pateric)回复于 2005-03-04 13:50:43 得分 0
对了,谢谢楼上的
        
        
        
        		
		        
                
                
     
    
 
	
	
     
	
    NEWBT官方QQ群1: 276678893
    可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
    但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
    验证问题说明申请入群原因即可.