I am trying to convert javascript date to c# datetime
var date = new Date();
var day = date.getDay();
var month = date.getMonth();
var year = date.getFullYear();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
// After this construct a string with the above results as below
var JSDateString = year+ "-" + month + "-" + day + " " + hour + ':' + minute + ':' + second;
var JSDateString = "2016-04-02 17:15:45"; // I receive date string via Ajax call in this format
var dt = DateTime.ParseExact(JSDateString , "yyyy-mm-dd HH:mm:ss", CultureInfo.InvariantCulture);
I get invalid datetime format exception. I researched other options in internet but I didn't find any specific answer on how to convert JavaScript datetime to C# datetime.
mm
是分钟,而MM
是月:
var dt = DateTime.ParseExact(JSDateString , "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
This might help with the JavaScript side:
function getDate() {
var date = new Date(),
year = date.getFullYear(),
month = (date.getMonth() + 1).toString(),
formatedMonth = (month.length === 1) ? ("0" + month) : month,
day = date.getDate().toString(),
formatedDay = (day.length === 1) ? ("0" + day) : day,
hour = date.getHours().toString(),
formatedHour = (hour.length === 1) ? ("0" + hour) : hour,
minute = date.getMinutes().toString(),
formatedMinute = (minute.length === 1) ? ("0" + minute) : minute,
second = date.getSeconds().toString(),
formatedSecond = (second.length === 1) ? ("0" + second) : second;
return year + "-" + formatedMonth + "-" + formatedDay + " " + formatedHour + ':' + formatedMinute + ':' + formatedSecond;
};
View a fiddle here: https://jsfiddle.net/kpduncan/de8j318k/
I had too do something like this when I building an application due to not being allowed to add thrid party JS and needing support back to IE8.
As you can see on the MSDN , mm
is for minutes (00 - 59) whereas MM
is for the month (01 - 12).
var JSDateString = "2016-04-02 17:15:45";
var formatCode = "yyyy-MM-dd HH:mm:ss";
var dt = DateTime.ParseExact(JSDateString , formatCode, CultureInfo.InvariantCulture);
You can see that mm
is for minutes because you already use it in your HH:mm:ss
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.