如何重新格式化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查询中比较时间了,对吗?如果您有一个日期类型的列-是