将String转换为Date时的偏移量

时间:2016-01-27 06:14:57

标签: java date date-format simpledateformat

我必须将字符串转换为Date。 为此,我正在使用:

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
    Date date = formatter.parse( "2016-01-26" );
    System.out.println("Date:"+date);

但我得到的输出是日期:

Tue Jan 26 00:01:00 IST 2016

而不是日期:

Tue Jan 26 00:00:00 IST 2016

任何人都可以解释为什么我得到1分钟(00:01:00)的偏移

2 个答案:

答案 0 :(得分:1)

尝试使用格式#include <iostream> #include <algorithm> #include <string> using namespace std; int main() { std::string inStr = "I go, I walk, I climb"; //std::replace( inStr.begin(), inStr.end(), "I", "you"); auto at = inStr.find("I"); while (at < inStr.size()) { inStr.replace(at, 1, "you"); at = inStr.find("I"); } cout << inStr << endl; }

mm是分钟,而 MM是几个月

yyyy-MM-dd

<强>输出

public static void main(String[] args) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date date = formatter.parse("2016-01-26");
        System.out.println("Date:" + date);
    }

答案 1 :(得分:1)

您需要设置&#39; MM&#39;。小&#39; mm&#39;用于分钟。请查看以下链接了解所有格式

试试这段代码。

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    Date date = formatter.parse( "2016-01-26" );
    System.out.println("Date:"+date);

检查以下格式


y =年
Q =季度
M =月
w =一年中的一周
W =一个月的一周
d =月中的某天
D =一年中的某一天
E =星期几
a =期间(上午或下午)
h =小时(1-12)
H =小时(0-23)
米=分钟
s =第二次