Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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_Android_String_Sqlite - Fatal编程技术网

在Java中,在字符串的特定位置添加特定字符

在Java中,在字符串的特定位置添加特定字符,java,android,string,sqlite,Java,Android,String,Sqlite,我将日期值以20121224格式存储在SQLite数据库中,这样我就可以轻松地按日期对数据库进行排序。我的问题是,在使用java代码从数据库中提取日期后,如何才能从20121224格式到2012/12/24格式获取日期。您可以这样做 import java.text.SimpleDateFormat; import java.util.Date; public class Test003 { public static void main(String[] args) throws E

我将日期值以20121224格式存储在SQLite数据库中,这样我就可以轻松地按日期对数据库进行排序。我的问题是,在使用java代码从数据库中提取日期后,如何才能从20121224格式到2012/12/24格式获取日期。

您可以这样做

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test003 {
    public static void main(String[] args) throws Exception {
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd");
        String s = "20121224";
        Date dt = sdf1.parse(s);
        System.out.println(sdf2.format(dt));

    }
}
希望这能有所帮助。

在Java中,字符串是不可变的,因此您不能修改从数据库返回的字符串;你必须做一个新的。最简单的方法是,如果您的日期保证为yyyyMMdd格式,也就是说,您不需要将一月存储为01,您只需要在另一端显示另一个字符串:

StringBuilder date = new StringBuilder();
date.append(dateStr.substring(0,4));
date.append("/");
date.append(dateStr.substring(4,6));
date.append("/");
date.append(dateStr.substring(6,8));
// use date.toString() wherever you need it
不过,我建议您调查一下。这些是常见的格式,允许您以更传统、更方便的方式使用Java内置的Date和DateFormat类

我看到有人在我键入此内容时击败了我提交答案…该建议将起作用,但它让您构建2个SimpleDataFormat对象,这不一定是最有效的方式。取决于您执行此操作的频率。

您可以使用strftime函数

语法:

strftime(timestring, modifiers...)
这将返回根据指定格式字符串格式化的日期

Example:

    SELECT strftime('%d-%m-%Y') from TABLE_NAME;

Output:

24-11-2013
您可以找到所有的格式化程序

Example:

    SELECT strftime('%d-%m-%Y') from TABLE_NAME;

Output:

24-11-2013