String str=“2011-11-11 22:22:22” 如何把str转换成datetime类型存入mysql中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String str=“2011-11-11 22:22:22” 如何把str转换成datetime类型存入mysql中相关的知识,希望对你有一定的参考价值。

要在JAVA中实现

mysql的datetime类型,其实就是string型。

php
使用int strtotime ( string $time [, int $now ] )函数转换为整数time类型。
插入时mysql时使用string date ( string $format [, int $timestamp ] )函数。
date("Y-m-d H:i:s", strtotime(str));

C#:
如果需要计算,先转DateTime:
DateTime dt = Convert.ToDateTime(str);
再DateTime转string:
dt.tostring()
参考技术A 直接向里存就可以,这样的格式是正常的'2011-11-11 22:22:22'

PHP也可以这样
$str = strval('2011-11-11 22:22:22');
$str = strtotime($str);
$time = date('Y-m-d H:i:s',$str);
echo $time;
参考技术B 多数方法是转为整型存入数据库
显示时再转回日期时间
strtotime($str)将字符串转为整型
date('Y-m-d H:i:s',$str)将整型转回时间

以上仅仅是php的方法

java String str=null

String str=null;

String str1="abc";
System.out.println(str+str1);//为什么输出结果为:nullabc?

这个要从源码的角度来看,从下面的代码我们及可以发现,当str==null为true时会被赋值为字符串“null”。不要问我为什么,我也不知道

追问

额,我看到这个源码了,明白了。多谢
另外请问下String str=new String();//为什么这里str不等于null呢?
System.out.print(str==null);//结果为false, 不是说引用类型的默认赋值都是null吗

追答

为什么要等于null? str已经被赋值了啊。 new这个语句已经给str在堆栈内分配一块地址。那么它就不为空了。尽管str里面什么都没有。如果你用s1.equals("");就返回true,因为str其实是一个空字符串了。即String str = new String();等同于,String str = new String("");也等同于 String str = "";你可以试一下在String str = null;和String str =new String();这两种情况下分别输出 System.out.println(str.length());你应该就全明白了。

参考技术A 我帮你解释一下你执行的过程
String str=null;
String str1="abc";
System.out.println((String)str+str1);
相加的时候会发生自动类型转换

以上是关于String str=“2011-11-11 22:22:22” 如何把str转换成datetime类型存入mysql中的主要内容,如果未能解决你的问题,请参考以下文章

string字符串

java String str=null

String str1="Hello",String str2=new String("Hello")

如何在一个函数中接受&str,String和&String?

delphi中string的管理

方法(String str)和方法(Final String str)有啥区别[重复]