在java中将String中的Date转换为Integer

时间:2018-05-05 06:10:33

标签: java

将String变量转换为Integer变量的概念是什么?如何做? 示例;

Model.on('method', function(info) {
  //var url = ''; if you want to give a link
  var html = 'Click <a href="' + url +  '">here</a>';
  Model.app.models.Emailmodel.send({
    to: info.email,
    from: senderAddress,
    subject: 'your subject',
    html: html
  }, function(err) {
    if (err) return console.log('> error sending email');
    console.log('> sending email to:', info.email);
  });
});

但我很困惑。那怎么办呢?

4 个答案:

答案 0 :(得分:2)

你可以......

使用String#substring(int, int)String分解为更小的String,类似于..

String x= "20161012";
System.out.println(x.substring(0, 4));
System.out.println(x.substring(4, 6));
System.out.println(x.substring(6, 8));

哪个输出

2016
10
12

然后,您只需使用Integer.parseIntString值解析为int

或者,因为这看起来很像日期值,你可以......

String值解析为LocalDate对象并从中提取属性

String x = "20161012";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDate ldt = LocalDate.parse(x, formatter);
System.out.println(ldt.getYear());
System.out.println(ldt.getMonthValue());
System.out.println(ldt.getDayOfMonth());

哪些输出......

2016
10
12

您可能会使用的将取决于您最终要实现的目标

答案 1 :(得分:1)

String x="20161012";

使用x.substring获取子字符串并应用Integer.parseint

如果有分隔符,则使用字符串split方法来解析整数

答案 2 :(得分:0)

你好我假设你总是字符串是日期和格式相同

Calendar mydate = new GregorianCalendar();
String mystring = "20161012";
Date thedate = new SimpleDateFormat("yyyyddmm",Locale.ENGLISH).parse(mystring);
System.out.println("year   -> "+mydate.get(Calendar.YEAR));
System.out.println("month  -> "+mydate.get(Calendar.MONTH)); 
// month index start from 0 i.e Jan is 0 
System.out.println("dom    -> "+mydate.get(Calendar.DAY_OF_MONTH));

答案 3 :(得分:0)

使用Integer.parseInt("20161012");可以将java中的String转换为Integer 这将为您提供一个值为 20161012 的整数。

正如我在您的问题中所看到的,您正在处理一个日期,您需要将其分为年,月和日。我建议使用 java.util.Calendar 类,并使用以下代码从String中解析它

String str ="20161012";
Calendar calendar = Calendar.getInstance();
calendar.setTime(new SimpleDateFormat("yyyyMMdd").parse(str));

int x = calendar.get(Calendar.YEAR);
int y = calendar.get(Calendar.MONTH)+1;  //Because months start with 0 instead of 1
int z = calendar.get(Calendar.DAY_OF_MONTH);