如何将当前时间格式化为YYYY-MM-DDTHH:MM:SSZ

从未尝试过Go,并且目前正在做一个小项目。 任务之一是获取当前系统时间并以 YYYY-MM-DDT00:00:00Z </ code>格式表示。 我相信 Z </ code>表示时间是以UTC格式表示的,但是当我查看db时,所有时间戳都是这样的,即 2011-11-22T15:22:10Z </ code>。 </ p>

那么我该如何在Go中格式化?</ p>

Update </ em>
我能够使用以下代码对其进行格式化 </ p>

  t:= time.Now()
fmt.Println(t.Format(“ 2006-01-02T15:04:05Z”))
</ code> </ pre>

现在问题仍然存在, Z </ code>在这里表示什么。 我应该获得UTC时间吗? </ p>

另一个问题,看来我用来格式化的值会影响输出,即当我使用 2019-01-02T15:04:05Z </ code> 输出变成 2029-02-02T20:45:11Z </ code>,为什么?</ p>
</ div>

展开原文

原文

Never tried Go before and currently doing a small project. One of the task is to get current system time and represent it in YYYY-MM-DDT00:00:00Z format. I believe that Z means that time is represented in UTC format but when i looked into db, all timestamps are like this i.e., 2011-11-22T15:22:10Z.

So how can i format like this in Go?

Update I was able to format it using following code

t := time.Now()
fmt.Println(t.Format("2006-01-02T15:04:05Z"))

Now the question remains, what Z signifies here. Should i get UTC Time?

Another question, it looks like that the value i am using to format impacts the output i.e., when i used 2019-01-02T15:04:05Z the output became 2029-02-02T20:45:11Z, why?

2个回答



Go通过示例提供了一种非常灵活的时间解析方法。 为此,必须以您选择的格式编写“参考”时间。 基准时间是 Mon Jan 2 15:04:05 MST 2006 </ code>。 就我而言,我使用这个参考时间来解析 Now()</ code>:</ p>

  fmt.Println(time.Now()。UTC()  .Format(“ 2006-01-02T15:04:05Z”))
</ code> </ pre>
</ div>

展开原文

原文

Go provides very flexible way to parse the time by example. For this, you have to write the "reference" time in the format of your choice. The reference time is Mon Jan 2 15:04:05 MST 2006. In my case, I used this reference time to parse the Now():

fmt.Println(time.Now().UTC().Format("2006-01-02T15:04:05Z"))



“如果时间在世界标准时间(UTC)中,则在该时间之后立即添加“ Z”,而无需使用空格。 “ Z”是零UTC偏移量的区域标记。因此,“ 09:30 UTC”表示为“ 09:30Z”或“ 0930Z”。同样,“ 14:45:15 UTC”写为“ 14:45” :15Z“或” 144515Z“。[16]” </ p>

来自 https://zh.wikipedia.org/wiki/Time_zone#UTC </ p>

  ///一些有效的布局对于time是无效的时间值。 格式为
//,例如_表示空格填充,Z表示区域信息。
</ code> </ pre>

和</ p>

   //用Z替换格式中的符号会触发
//打印Z的ISO 8601行为,而不是UTC区域的
//偏移量。 因此:
// Z0700 Z或±hhmm
// Z07:00 Z或±hh:mm
// Z07 Z或±hh
</ code> </ pre>

从软件包 time / format.go </ p>
</ DIV>

展开原文

原文

"If a time is in Coordinated Universal Time (UTC), a "Z" is added directly after the time without a separating space. "Z" is the zone designator for the zero UTC offset. "09:30 UTC" is therefore represented as "09:30Z" or "0930Z". Likewise, "14:45:15 UTC" is written as "14:45:15Z" or "144515Z".[16]"

From https://en.wikipedia.org/wiki/Time_zone#UTC

// Some valid layouts are invalid time values for time.Parse, due to formats
// such as _ for space padding and Z for zone information.

and

// Replacing the sign in the format with a Z triggers
// the ISO 8601 behavior of printing Z instead of an
// offset for the UTC zone. Thus:
//  Z0700  Z or ±hhmm
//  Z07:00 Z or ±hh:mm
//  Z07    Z or ±hh

From the source for package time/format.go

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何转换yyyy-MM-ddTHH:mm:ssZ到yyyy-MM-dd HH:mm:ss?

<div class="post-text" itemprop="text"> <p>Paypal returns a timestamp of the following format: </p> <pre><code>yyyy-MM-ddTHH:mm:ssZ </code></pre> <p>And I don't quite know what to do with it...</p> <p>How can I convert it to yyyy-MM-dd HH:mm:ss using my local timezone in php?</p> <p>I'm tempted to <code>preg_replace</code> the mysterious letters, but something tells me there must a better way. There also appears to be 8 hours difference to my zone which I'm not sure how to substract.</p> </div>

PHP - 将日期转换为YYYY-MM-DDTHH:MM:SS

<div class="post-text" itemprop="text"> <p>I was wondering if it was possible to format todays date to below format:</p> <pre><code>YYYY-MM-DDTHH:MM:SS </code></pre> <p>It's important that the "T" is preserved, like this:</p> <pre><code>2017-07-20T00:00:00 </code></pre> <p>Below I have:</p> <pre><code>$invoice_date = date('Y-m-d H:i:s'); </code></pre> <p>I can't figure out how to add the "T" in between.</p> </div>

PHP date()返回格式yyyy-mm-ddThh:mm:ss.uZ

<div class="post-text" itemprop="text"> <p>I have checked out the following question/responses: <a href="https://stackoverflow.com/questions/15574434/how-do-i-get-the-format-of-yyyy-mm-ddthhmmss-fffz-in-php">How do I get the format of “yyyy-MM-ddTHH:mm:ss.fffZ” in php?</a> The responses include links to Microsoft documentation to format dates but these do not work in PHP.</p> <p>The the top answer suggest</p> <p><code>date('Y-m-dTH:i:s.uZ') //for the current time</code></p> <p>This outputs <code>2013-03-22EDT12:56:35.000000-1440016</code></p> <p><strong>Background</strong></p> <p>I am working with an API which requires a timestamp in the format above. The API is based in the UK (GMT) and my server is in Australia (AEST).</p> <p>The example given in the API documentation ask for the date to be in this format:</p> <p><code>2011-07-15T16:10:45.555Z</code></p> <p>The closest I can get to this is date('c') which outputs:</p> <p><code>2014-07-03T16:41:59+10:00//Notice the Z is replaced with a time diff in hours</code></p> <p>I believe the 'Z' refers to a Zone but it is not mentioned in the PHP documentation. </p> <p>Unfortunatly when I post this format, the API is reading the time and taking 10 hours off. I get an error saying that the date cannot be in the past (as it is checking against the local time in Melbourne, but seeing a time 10 hours earlier).</p> <p>I have tried trimming the timestamp to remove the +1000 which the API accepts, but the record is showing as created as 10 hours earlier.</p> <p>I need to match the timestamp required but I cannot find any way to replicate the above output, in PHP for Melbourne, Australia. Any assistance is much appreciated.</p> <p><em>First question on SO so please let me know how I have gone</em></p> </div>

如何将yyyy-mm-ddthh-mm-ssz转换为yyyy-mm-dd格式[重复]

<div class="post-text" itemprop="text"> <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/2167916/convert-one-date-format-into-another-in-php" dir="ltr">Convert one date format into another in PHP</a> <span class="question-originals-answer-count"> 15 answers </span> </li> </ul> </div> <p>I have an input in my page to capture a date. I need it in "yyyy-mm-dd" format but it's saving it in "yyyy-mm-ddthh-mm-ssz".</p> <pre><code>&lt;input id="celular" type="date" date="yyyy/mm/dd" class="browser-default" ng-model="cumpleanos" &gt; </code></pre> <p>I need to format to yyyy-mm-dd in the front or in the back.</p> <p>When I inspect the header of the data send I see this:</p> <pre><code>cumpleanos: "2018-03-01T05:00:00.000Z" </code></pre> <p>and the database sends me this error:</p> <blockquote> <p>Incorrect date value: '2018-03-01T05:00:00.000Z' for column 'cumpleanos' at row 1</p> </blockquote> <p>The column <code>cumpleanos</code> is a date type column.</p> </div>

将日期时间值转换为YYYY-MM-DDTHH:MM:SS.000Z格式[重复]

<div class="post-text" itemprop="text"> <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/15902464/format-of-2013-04-09t100000z-in-php" dir="ltr">Format of 2013-04-09T10:00:00Z in php [closed]</a> <span class="question-originals-answer-count"> 2 answers </span> </li> </ul> </div> <p>I need to convert a datetime string format (2019-04-08 09:39:23) to this format : 2019-04-08T16:14:44.000Z - this is just an example output - I don't know what the actual value is in T-Z.</p> <pre><code>$t = "20190408093923"; # 2019-04-08 09:39:23 echo date("Y-m-dTH:i:sZ", strtotime($t)); echo PHP_EOL; </code></pre> </div>

如何将yyyy-MM-ddThh:mm:sszzz转换为带有PHP的时间戳?

<div class="post-text" itemprop="text"> <p>I have tried this code:</p> <pre><code>$dateFromDB = '2012-06-22T14:06:55+00:00'; $newDate = DateTime::createFromFormat('yyyy-MM-ddThh:mm:sszzz', $dateFromDB); $date = $newDate-&gt;format('U'); // convert to timestamp echo $date; </code></pre> <p>but gave me this error: </p> <blockquote> <p>Fatal error: Call to a member function format() on a non-object in...</p> </blockquote> <p>What is the problem with this code?</p> </div>

JS 如何将 yyyy-MM-dd HH:mm:ss字符串 转换成yyyy-MM-dd字符串??

如何将 yyyy-MM-dd HH:mm:ss字符串 转换成yyyy-MM-dd字符串?

如何把yyyy-MM-dd:HH-mm-ss 转换yyyy-MM-dd:HH显示

如题。用SimpleDateFormat("yyyy-MM-dd:HH")格式化yyyy-MM-dd:HH-mm好像不行,是否要使用string方法截取?

请问 "2010-06-10T01:22:56+0000",转化成java的Date对象用什么pattern ?

请问 "2010-06-10T01:22:56+0000",转化成java的Date对象用什么pattern ? 如下不管用: Date todayDate = new Date(); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss"); String currentDateTime = fmt.format(date);

ios-DateFormat转换

有一个字符串: 2012-11-08T13:50:05.284-08:00 转换成这个格式: November 8, 2012 1:50 PM, 已经确认了日期格式: YYYY-MM-DDThh:mm:ss.s 代码: NSDateFormatter *dateFormat = [ [NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"YYYY-MM-DDThh:mm:ss.sTZD"]; NSDate *date = [dateFormat dateFromString:@"2012-11-08T13:50:05.284-08:00"]; [dateFormat setDateFormat:@"MMMM dd, yyyy hh:mm a"]; NSString *newDateStr = [dateFormat stringFromDate:date]; 不知道这样设置对不对呢?

php 设置格UTC时区 获取时间戳是 北京时间时间戳

date_default_timezone_set("UTC"); echo time(); echo '<br>'; echo date('Y-m-d H:i:s',time()); echo '<br>'; echo date('Y-m-d H:i:s',time()+8*60*60); 打印结果: 1554950907 2019-04-11 02:48:27 2019-04-11 10:48:27 1554950907转换北京时间 是2019/4/11 10:48:27 php 运行环境也设置 UTC ![图片说明](https://img-ask.csdn.net/upload/201904/11/1554951251_544680.png) 大神们!怎么才能 让 time() 获取的时间戳 是格林威治的时间戳?

日期toIsoString PHP [重复]

<div class="post-text" itemprop="text"> <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/37214217/how-to-convert-a-php-datetime-object-to-iso-string" dir="ltr">How to convert a PHP DateTime object to ISO string?</a> <span class="question-originals-answer-count"> 2 answers </span> </li> </ul> </div> <p>I want to have a date like new Date().toISOString() of javascript</p> <p>The output is <code>2018-06-11T08:30:25.597Z</code></p> <p>I tried with </p> <pre><code>(new \DateTime('now',new \DateTimeZone("UTC")))-&gt;format(\DateTime::ISO8601) // 2018-06-12T08:21:13+0000 $t = date('c', strtotime('2010-12-30 23:21:46')); //2010-12-30T23:21:46+01:00 $t2 = date(DATE_ISO8601, strtotime('2010-12-30 23:21:46')); //2010-12-30T23:21:46+01:00 $datetime = new \DateTime('2010-12-30 23:21:46'); $t3 = $datetime-&gt;format(\DateTime::ATOM); // 2010-12-30T23:21:46+01:00 </code></pre> <p>I want to combine </p> <blockquote> <p>Combined ISO 8601 date and time in UTC (YYYY-MM-DDTHH:MM:S+Timezone Offset|Z, i.e., 2018-04-18T11:02:05.261Z)</p> </blockquote> <p>In Javascript I can have this format with </p> <pre><code>new Date().toISOString() //2018-06-12T08:24:49.321Z </code></pre> </div>

使用PHP更改ISO8601日期格式

<div class="post-text" itemprop="text"> <p>I am trying to get the current date/time using Data Type: ISODateTime and Format: YYYY-MM-DDTHH:MM:SS e.g. 2012-02-06T08:35:30. I searched how I would do this in PHP and found that I can use;</p> <pre><code>$formatedDate = date("c"); </code></pre> <p>Although the output of this is almost correct is not quite what I need and I can't figure out how to alter it, the current output of this is;</p> <p>2014-07-01T10:53:10+02:00</p> <p>My problem is I need to remove the "+02:00" and also this time is an hour ahead of my local time, which is what I need. Therefore, in this example, I would require;</p> <p>2014-07-01T09:53:10</p> <p>Any help would be really appreciated. Thanks.</p> </div>

使用Neo4j,Neo4jPHP和Neo4jClient在PHP和C#之间共享日期时间

<div class="post-text" itemprop="text"> <p>I'm writing a data import script for gathering some data with dates from PHP and I'm writing the results to Neo4j using Neo4jPHP. However, I'm not sure how to get a date time object in PHP to be represented as a serialized <code>DateTimeOffset</code> that can be read through Neo4jClient on the C#.NET side.</p> <p>When serializing a DateTimeOffset using Neo4jClient in C#.NET, its internal format in Neo4j looks like this:<br> <code>"2013-07-12T13:06:44.3940861+00:00"</code></p> <p>According to the documentation on <a href="http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx</a>, the above date time string can be broken into these pieces:<br> <code>"yyyy-MM-ddThh:mm:ss.FFFFFFFzzz"</code></p> <p>I see that the PHP date() function doesn't support microseconds, but DateTime::format() does. I'm not an expert in PHP so I'm not sure the best method for approaching the conversion. I'm not simply looking for a PHP full Date/Time because the C# DateTimeOffset supports microseconds. How would I achieve the above date format in PHP? </p> </div>

添加事件会在fullcalendar脚本中抛出SQL

<div class="post-text" itemprop="text"> <p>I am a beginner in JS and php and I tried to make an agenda with the plugin full calendar. I'm using a database with fullcalendar.</p> <p><strong>My table :</strong></p> <pre><code>CREATE TABLE evenement ( id int(11) NOT NULL AUTO_INCREMENT, title varchar(255) COLLATE utf8_bin NOT NULL, start datetime NOT NULL, end datetime DEFAULT NULL, url varchar(255) COLLATE utf8_bin NOT NULL, allDay varchar(255) COLLATE utf8_bin NOT NULL DEFAULT 'false', PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=7 ; </code></pre> <p><strong>My agenda page :</strong></p> <pre><code>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;link href='fullcalendar/fullcalendar.css' rel='stylesheet' /&gt; &lt;script src='fullcalendar/lib/jquery.min.js'&gt;&lt;/script&gt; &lt;script src='fullcalendar/lib/jquery-ui.custom.min.js'&gt;&lt;/script&gt; &lt;script src='fullcalendar/lib/moment.min.js'&gt;&lt;/script&gt; &lt;script src='fullcalendar/fullcalendar.min.js'&gt;&lt;/script&gt; &lt;script src='fullcalendar/lang/fr.js'&gt;&lt;/script&gt; &lt;script&gt; $(document).ready(function() { var date = new Date(); var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear(); var calendar = $('#calendar').fullCalendar({ editable: true, header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, events: "events.php", // Convert the allDay from string to boolean eventRender: function(event, element, view) { if (event.allDay === true) { event.allDay = true; } else { event.allDay = false; } }, selectable: true, selectHelper: true, select: function(start, end, allDay) { var title = prompt('Event Title:'); var url = prompt('Type Event url, if exists:'); if (title) { var start=moment(start).format('YYYY-MM-DDTHH:mm:ssZ'); var end=moment(end).format('YYYY-MM-DDTHH:mm:ssZ'); $.ajax({ url: 'add_events.php', data: 'title='+ title+'&amp;start='+ start +'&amp;end='+ end +'&amp;url='+ url , type: "POST", success: function(json) { alert('Added Successfully'); } }); calendar.fullCalendar('renderEvent', { title: title, start: start, end: end, allDay: allDay }, true // make the event "stick" ); } calendar.fullCalendar('unselect'); }, editable: true, eventDrop: function(event, delta) { var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss"); var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss"); $.ajax({ url: 'update_events.php', data: 'title='+ event.title+'&amp;start='+ start +'&amp;end='+ end +'&amp;id='+ event.id , type: "POST", success: function(json) { alert("Updated Successfully"); } }); }, eventResize: function(event) { var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss"); var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss"); $.ajax({ url: 'update_events.php', data: 'title='+ event.title+'&amp;start='+ start +'&amp;end='+ end +'&amp;id='+ event.id , type: "POST", success: function(json) { alert("Updated Successfully"); } }); } }); }); &lt;/script&gt; &lt;style&gt; body { margin-top: 40px; text-align: center; font-size: 14px; font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif; } #calendar { width: 900px; margin: 0 auto; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;?php //echo json_encode($title); ?&gt; &lt;div id='calendar'&gt;&lt;/div&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p><strong>My add_events page :</strong></p> <pre><code>&lt;?php // Values received via ajax $title = $_POST['title']; $start = $_POST['start']; $end = $_POST['end']; $url = $_POST['url']; // connection to the database try { $bdd = new PDO('mysql:host=localhost;dbname=elevage', 'root', 'admin'); } catch(Exception $e) { exit('Unable to connect to database.'); } // insert the records $sql = "INSERT INTO evenement (title, start, end, url) VALUES (:title, :start, :end, :url)"; $q = $bdd-&gt;prepare($sql); $q-&gt;execute(array(':title'=&gt;$title, ':start'=&gt;$start, ':end'=&gt;$end, ':url'=&gt;$url)); ?&gt; </code></pre> <p><strong>My update_events page :</strong> </p> <pre><code>&lt;?php /* Values received via ajax */ $id = $_POST['id']; $title = $_POST['title']; $start = $_POST['start']; $end = $_POST['end']; // connection to the database try { $bdd = new PDO('mysql:host=localhost;dbname=elevage', 'root', 'admin'); } catch(Exception $e) { exit('Unable to connect to database.'); } // update the records $sql = "UPDATE evenement SET title=?, start=?, end=? WHERE id=?"; $q = $bdd-&gt;prepare($sql); $q-&gt;execute(array($title,$start,$end,$id)); ?&gt; </code></pre> <p>Can anybody tells me what's wrong with my code and why ? My problems atm are that events do not show properly in week/day views and when I try to add an event it doesnt add in the database (so disappear after an refresh). Also the time isnt displayed.</p> <p>Thanks.</p> </div>

为什么从此API调用中得到意外的EOF?

<div class="post-text" itemprop="text"> <p>I have the following Go code which I am running as an AWS Lambda cron, but I am unsure why I get this error:</p> <pre><code>sls logs --stage prod --region eu-west-1 --function esCronFn 2018/12/12 12:07:01 unexpected EOF 2018/12/12 12:07:01 unexpected EOF END RequestId: 6bf33d28-fe03-11e8-949d-f39174c57cab REPORT RequestId: 6bf33d28-fe03-11e8-949d-f39174c57cab Duration: 464734.47 ms Billed Duration: 464800 ms Memory Size: 256 MB Max Memory Used: 257 MB RequestId: 6bf33d28-fe03-11e8-949d-f39174c57cab Process exited before completing request </code></pre> <p>this is my main.go - it basically connects to an external API and pulls records which I am processing and uploading to an S3 bucket.</p> <p>package main</p> <pre><code>import ( "bytes" "encoding/csv" "encoding/json" "fmt" "io/ioutil" "log" "net/http" "net/url" "os" "strings" "time" "github.com/aws/aws-lambda-go/lambda" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" "github.com/aws/aws-sdk-go/service/s3/s3iface" ) var ( // ENDPOINT is the endpoint from which incomplete CSV records are downloaded ENDPOINT = os.Getenv("ENDPOINT") PARSED_ENDPOINT *url.URL // TOKEN authenticates requests sent to eshot API TOKEN = os.Getenv("TOKEN") // BUCKET is the S3 bucket to which CSV files are uploaded BUCKET = os.Getenv("BUCKET") svc s3iface.S3API ) // Record is the JSON response returned by a successful request to API type EsRecord struct { Salutation string `json:"Salutation"` Firstname string `json:"Firstname"` Lastname string `json:"Lastname"` Company string `json:"Company"` EEA string `json:"EEA"` ModifiedDate time.Time `json:"ModifiedDate"` SubaccountID string `json:"SubaccountId"` Email string `json:"Email"` } // CsvData holds reference to underlying buffer and the csv writer type CsvData struct { Buffer *bytes.Buffer Writer *csv.Writer } func init() { today := time.Now() // If ENDPOINT is empty, It'll use this hardcoded endpoint. The ENDPOINT variable should not contain any text after "ModifiedDate gt". The actual date is currentDay-1 if ENDPOINT == "" { ENDPOINT = "https://rest-api.domain.tld/Export/?$select=Email,Firstname,Lastname,SubaccountId,EEA,ModifiedDate&amp;$filter=(EEA eq '' or EEA eq null) and ModifiedDate gt" } // Append CurrentDay-1 in YYYY-MM-DDTHH:MM:SSZ format. // The time is NOT in UTC. It's the local time of the machine on which lambda function was running ENDPOINT = fmt.Sprintf("%s %sT00:00:00Z", ENDPOINT, today.AddDate(0, 0, -1).Format("2006-01-02")) var err error PARSED_ENDPOINT, err = url.Parse(ENDPOINT) if err != nil { log.Fatalln("Invalid $ENDPOINT", err) } PARSED_ENDPOINT.RawQuery = QueryEscape(PARSED_ENDPOINT.RawQuery) } func main() { if TOKEN == "" { log.Fatalln("$TOKEN is empty") } if BUCKET == "" { log.Fatalln("$BUCKET is empty") } // Create S3 session svc = s3iface.S3API(s3.New(session.Must(session.NewSession()))) lambda.Start(CreateAndUploadCsvToS3) } func CreateAndUploadCsvToS3() error { resp, err := fetchRecords() if err != nil { return fmt.Errorf("error in fetching records: %s", err) } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { b, _ := ioutil.ReadAll(resp.Body) return fmt.Errorf("api returned non 200 response(%d), URL: %s, %s", resp.StatusCode, PARSED_ENDPOINT.String(), string(b)) } // API returns array of EshotRecord esRecords := []EsRecord{} err = json.NewDecoder(resp.Body).Decode(&amp;esRecords) if err != nil { b, _ := ioutil.ReadAll(resp.Body) return fmt.Errorf("error in parsing response %s: %s", err, string(b)) } recordsMap := ParseEsRecordsJSON(esRecords) ct := time.Now().String() for k, v := range recordsMap { key := fmt.Sprintf("%s_%s.csv", k, ct) _, err := svc.PutObject(&amp;s3.PutObjectInput{ Bucket: aws.String(BUCKET), // Key is in format, &lt;subaccountid&gt;_&lt;current timestamp&gt;.csv Key: aws.String(key), Body: bytes.NewReader(v.Buffer.Bytes()), }) if err != nil { return fmt.Errorf("error in uploading %s: %s", key, err) } } return nil } // ParseEsRecordsJSON takes an array of EsRecord // Seperates each record by subAccountId // Creates CSV files for each SubAccountId // Returns the hashmap func ParseEsRecordsJSON(esRecords []EsRecord) map[string]CsvData { recordsMap := make(map[string]CsvData) for _, v := range esRecords { // If v.SubaccountID was encountered for the first time // 1. Create a Buffer // 2. Write CSV headers to this buffer // 3. Store reference to this buffer and csv writer in hashmap if _, ok := recordsMap[v.SubaccountID]; !ok { var buf bytes.Buffer writer := csv.NewWriter(&amp;buf) // Write CSV headers err := writer.Write([]string{"Firstname", "Lastname", "Email"}) if err != nil { log.Printf("error occurred in inserting headers for subAccountId(%s): %s ", v.SubaccountID, err) } // store reference to writer object for this subaccountid in hashmap recordsMap[v.SubaccountID] = CsvData{ Buffer: &amp;buf, Writer: writer, } } csvRef := recordsMap[v.SubaccountID] err := csvRef.Writer.Write([]string{v.Firstname, v.Lastname, v.Email}) if err != nil { log.Printf("error occurred in inserting headers for subAccountId(%s): %s ", v.SubaccountID, err) } csvRef.Writer.Flush() } return recordsMap } // FetchRecords makes a request to API and returns http.Response func fetchRecords() (*http.Response, error) { req, err := http.NewRequest("GET", PARSED_ENDPOINT.String(), nil) if err != nil { return nil, err } req.Header.Set("Authorization", fmt.Sprintf("Token %s", TOKEN)) client := &amp;http.Client{} return client.Do(req) } // QueryEscape replaces URL unsafe characters as listed in HTTP RFC with their HEX values. // The QueryEscape function in Go strictly adheres to the RFC and replaces all the characters listed in RFC with their HEX values. // Curl/Postman only encodes parameters on a strict "need" only bases. Presumably, the endpoint does not seems to be working with Go's encoded string. // This code escapes all the charactes and then performs uses string replace to make the URL more like what CURL would have done. func QueryEscape(s string) string { s = url.QueryEscape(s) s = strings.Replace(s, "%2C", ",", -1) s = strings.Replace(s, "%24", "$", -1) s = strings.Replace(s, "%3D", "=", -1) s = strings.Replace(s, "+", "%20", -1) s = strings.Replace(s, "%26", "&amp;", -1) s = strings.Replace(s, "%3A", ":", -1) return s } </code></pre> <p>If I change the <code>ENDPOINT</code> from:</p> <pre><code>ENDPOINT = "https://rest-api.domain.tld/Export/?$select=Email,Firstname,Lastname,SubaccountId,EEA,ModifiedDate&amp;$filter=(EEA eq '' or EEA eq null) and ModifiedDate gt" </code></pre> <p>to</p> <pre><code>ENDPOINT = "https://rest-api.domain.tld/Export/?$select=Email,Firstname,Lastname,SubaccountId,EEA,ModifiedDate&amp;$filter=EEA eq '' and ModifiedDate gt" </code></pre> <p>I don't get the <code>EOF</code> error, but then I don't get the full list, running curl, I get the data I need, so I am unsure why my code is failing and how best to track where it is failing?</p> </div>

将从数据库检索的日期和时间输入到日期时间输入中

<div class="post-text" itemprop="text"> <p>I'm trying to retrieve a <code>Datetime</code> value from my database and place it in an <code>html input</code> with a <code>date type</code> but it doesn't show anything.</p> <pre><code>$resQuery = mysql_query("SELECT * FROM reserveringen WHERE id = $ID"); while ($resInfo = mysql_fetch_array($resQuery)) { $dateTime = $resInfo[3]; } &lt;?php echo "&lt;input name='dateTime' type='datetime-local' value='$dateTime'"?&gt; </code></pre> <p>Also when I <code>F12</code> I get this error: <code>The specified value "2525-0505-16161616 0606:0505" does not conform to the required format. The format is "yyyy-MM-ddThh:mm" followed by optional ":ss" or ":ss.SSS"</code>.</p> </div>

使用PHP和SOAP生成Web服务标记头

<div class="post-text" itemprop="text"> <p>I'm trying to consume a service from a webservice that asks for authentication, but I can not generate the Timestamp and UsernameToken. </p> <pre><code>&lt;wsu:Timestamp wsu:Id="TS-1C1ABE5282FC96252314981531909334"&gt; &lt;wsse:UsernameToken wsu:Id="UsernameToken-1C1ABE5282FC96252314981531792593"&gt; </code></pre> <p>Send Corret:</p> <pre><code>&lt;soapenv:Header&gt; &lt;wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt; &lt;wsu:Timestamp wsu:Id="TS-1C1ABE5282FC96252314981531909334"&gt; &lt;wsu:Created&gt;2017-07-20T22:07:01.999Z&lt;/wsu:Created&gt; &lt;wsu:Expires&gt;2017-07-20T22:10:01.999Z&lt;/wsu:Expires&gt; &lt;/wsu:Timestamp&gt; &lt;wsse:UsernameToken wsu:Id="UsernameToken-1C1ABE5282FC96252314981531792593"&gt; &lt;wsse:Username&gt;xxxxxxxxxxxxx&lt;/wsse:Username&gt; &lt;wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"&gt;nrg2241zhN8HMAn1bg7OLCL/6eM=&lt;/wsse:Password&gt; &lt;wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"&gt;ODgwODIzNDMz&lt;/wsse:Nonce&gt; &lt;wsu:Created&gt;2017-07-20T22:07:01.999Z&lt;/wsu:Created&gt; &lt;/wsse:UsernameToken&gt; &lt;/wsse:Security&gt; &lt;/soapenv:Header&gt; </code></pre> <p>I'm using the function below:</p> <pre><code>/** * This function implements a WS-Security authentication for PHP. * * @access private * @param string $user * @param string $password * @return SoapHeader */ function soapClientWSSecurityHeader($user, $password) { // Creating date using yyyy-mm-ddThh:mm:ssZ format $tm_created = gmdate('Y-m-d\TH:i:s\Z'); $tm_expires = gmdate('Y-m-d\TH:i:s\Z', gmdate('U') + 180); //only necessary if using the timestamp element // Generating and encoding a random number $simple_nonce = mt_rand(); $encoded_nonce = base64_encode($simple_nonce); // Compiling WSS string $passdigest = base64_encode(sha1($simple_nonce . $tm_created . $password, true)); // Initializing namespaces $ns_wsse = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'; $ns_wsu = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'; $password_type = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText'; $encoding_type = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary'; // Creating WSS identification header using SimpleXML $root = new SimpleXMLElement('&lt;root/&gt;'); $security = $root-&gt;addChild('wsse:Security', null, $ns_wsse); //the timestamp element is not required by all servers $timestamp = $security-&gt;addChild('wsu:Timestamp', null, $ns_wsu); $timestamp-&gt;addAttribute('wsu:Id', 'Timestamp-28'); $timestamp-&gt;addChild('wsu:Created', $tm_created, $ns_wsu); $timestamp-&gt;addChild('wsu:Expires', $tm_expires, $ns_wsu); $usernameToken = $security-&gt;addChild('wsse:UsernameToken', null, $ns_wsse); $usernameToken-&gt;addChild('wsse:Username', $user, $ns_wsse); $usernameToken-&gt;addChild('wsse:Password', $password, $ns_wsse)-&gt;addAttribute('Type', $password_type); $usernameToken-&gt;addChild('wsse:Nonce', $encoded_nonce, $ns_wsse)-&gt;addAttribute('EncodingType', $encoding_type); $usernameToken-&gt;addChild('wsu:Created', $tm_created, $ns_wsu); // Recovering XML value from that object $root-&gt;registerXPathNamespace('wsse', $ns_wsse); $full = $root-&gt;xpath('/root/wsse:Security'); $auth = $full[0]-&gt;asXML(); return new SoapHeader($ns_wsse, 'Security', new SoapVar($auth, XSD_ANYXML), true); } </code></pre> <p>My return using the above function:</p> <pre><code>&lt;wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt; &lt;wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" Id="Timestamp-28"&gt; &lt;wsu:Created&gt;2017-07-20T22:18:53Z&lt;/wsu:Created&gt; &lt;wsu:Expires&gt;2017-07-20T22:21:53Z&lt;/wsu:Expires&gt; &lt;/wsu:Timestamp&gt; &lt;wsse:UsernameToken&gt; &lt;wsse:Username&gt;XXXXXXXXXXXXXXXXXXX&lt;/wsse:Username&gt; &lt;wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"&gt; XXXXXXXXXXXXXXXXXX &lt;/wsse:Password&gt; &lt;wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"&gt; OTUxOTA4NDYz &lt;/wsse:Nonce&gt; &lt;wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt; 2017-07-20T22:18:53Z &lt;/wsu:Created&gt; &lt;/wsse:UsernameToken&gt; &lt;/wsse:Security&gt; </code></pre> <p>These two tokens need to be generated, but with this function they are not.</p> </div>

将RFC3339时间存储在MySQL数据库中时,最佳实践是什么?

<div class="post-text" itemprop="text"> <p>I have data in a Google Cloud Datastore NoSQL database. The objects in this database contain fields of <a href="https://golang.org/pkg/time/#Time" rel="nofollow">type <code>Time.time</code></a>, specifically RFC3339 format (YYYY-MM-DDThh:mm:ssTZD). I am moving some of this data into a Google Cloud SQL database and I am wondering what is considered best practice when storing RFC3339 formatted time data in a MySQL database.</p> <p><a href="http://www.xaprb.com/blog/2014/01/30/timestamps-in-mysql/" rel="nofollow">This post</a> strongly suggests the following:</p> <blockquote> <p>All date and time columns shall be <code>INT UNSIGNED NOT NULL</code>, and shall store a Unix timestamp in UTC.</p> </blockquote> <p>So, should I just make use of <a href="https://godoc.org/time#Time.Unix" rel="nofollow">Golang's <code>func (t Time) Unix()</code></a> and store the data that way? What are some alternative approaches to storing the data? What kinds of issues might I run into if I don't heed the poster's advice?</p> </div>

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问