Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何重新格式化Java时间类的时间_Java_Sqlite_Date_Format_Date Format - Fatal编程技术网

如何重新格式化Java时间类的时间

如何重新格式化Java时间类的时间,java,sqlite,date,format,date-format,Java,Sqlite,Date,Format,Date Format,我搜索了关于格式化时间的主题,但这些都是关于日期类或日期时间的。我在上时间课。我将时间创建为: Time time = new Time(Time.getCurrentTimezone()) ; time.setToNow(); String berkay = time.toString(); System.out.println(berkay); 当我执行它时,输出是: 20130417T070525GMT(3106,0,01366182325) 实际上日期和时间是正确的(2013-04-1

我搜索了关于格式化时间的主题,但这些都是关于日期类或日期时间的。我在上时间课。我将时间创建为:

Time time = new Time(Time.getCurrentTimezone()) ;
time.setToNow();
String berkay = time.toString();
System.out.println(berkay);
当我执行它时,输出是:

20130417T070525GMT(3106,0,01366182325)

实际上日期和时间是正确的(2013-04-17 07:05:25)

但我需要将其转换为:20130417070525(我这样做的原因是我将根据日期搜索数据库,以便以该格式比较时间)

如何转换它?

试试以下方法:

Time time = new Time(System.currentTimeMillis()) ;  
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); 
String date = df.format(time).toString(); 
System.out.println(date); 
编辑

但是,正如smttsp所建议的,将其存储为时间戳要有效得多

尝试以下方法:

Time time = new Time(System.currentTimeMillis()) ;  
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); 
String date = df.format(time).toString(); 
System.out.println(date); 
编辑


<> P>> Struts>,建议将其存储为时间戳

< >,将JavaUTILDATE转换为String,您应该考虑java .Text。SimuleDealFrase.< 要使用java.util.Date作为数据库查询的参数,应按原样传递日期,而不将其转换为任何其他格式


将java. UTILL日期转换为字符串时,应考虑java .text .SimuldAdvest.< /P> 要使用java.util.Date作为数据库查询的参数,应按原样传递日期,而不将其转换为任何其他格式


虽然有点晚,但如果您正在按时工作,并且需要比较或排序,最好的方法是使用Unix时间戳。它从1970年1月1日00:00:00开始,每秒递增1

它是一个长值(64位),在时间和空间上都非常有效。是Unix时间戳转换的网站

另外,20130417070525是14个字符的字符串(我猜至少是15个字节),1366182325是长的(8个字节)。因此,选择长期价值。你可以用那种方式得到它

Date myDate = new Date(); // current time    
myDate.getTime();         // converts it to specified format.

虽然有点晚,但如果您正在按时工作,并且需要比较或排序,最好的方法是使用Unix时间戳。它从1970年1月1日00:00:00开始,每秒递增1

它是一个长值(64位),在时间和空间上都非常有效。是Unix时间戳转换的网站

另外,20130417070525是14个字符的字符串(我猜至少是15个字节),1366182325是长的(8个字节)。因此,选择长期价值。你可以用那种方式得到它

Date myDate = new Date(); // current time    
myDate.getTime();         // converts it to specified format.


如果将时间存储为毫秒,比较起来会容易得多。请阅读java.text.simpleDataFormat javadoc。我们可以假设
java.sql.time
?@MadProgrammer这有关系吗?
1366182325
是TCP时间戳,用于比较、排序等,最好使用该格式而不是您自己的格式。如果您将时间存储为毫秒,则比较起来会容易得多。请阅读java.text.simpleDataFormat javadoc。我们可以假设
java.sql.time
?@MadProgrammer这有关系吗?
1366182325
是TCP时间戳,用于比较、排序等,最好使用该格式而不是您自己的格式您也可以在调用
df.format()
时使用
Time
对象。我试过了。Time Time=new Time(Time.getCurrentTimezone());time.setToNow();SimpleDataFormat df=新的SimpleDataFormat(“yyyyMMddHHmmss”);字符串日期=df.format(time).toString();系统输出打印项次(日期);但是例外…:(第一行:Time Time=新时间(System.currentTimeMillis());在您的计算机上工作正常吗?是的,我想可能有点混乱,我假设时间类是java.sql.Time,对吗?哦,谢谢,伙计。我使用的是import android.text.format.Time。您的代码与java.sql.Time配合得非常好,这正是我想要的。再次非常感谢。您也可以使用
Time
调用
df.format()
中的对象。我尝试了它。Time Time=new Time(Time.getCurrentTimezone());Time.setToNow();simpleDataFormat df=new simpleDataFormat(“yyyyMMddHHmmss”);String date=df.format(Time.toString();System.out.println(date);但异常…:(第一行:Time Time=新时间(System.currentTimeMillis());在您的计算机上工作正常吗?是的,我想可能有点混乱,我假设时间类是java.sql.Time,对吗?哦,谢谢,伙计。我使用的是import android.text.format.Time。您的代码与java.sql.Time配合得非常好,这正是我想要的。再次非常感谢。您的意思是将参数作为日期(不是字符串等)这样我就可以在sql查询中比较时间了,对吗?如果您有一个日期类型的列-是,您的意思是将参数作为日期(不是字符串等),这样我就可以在sql查询中比较时间了,对吗?如果您有一个日期类型的列-是